[英]Limit a user to view only associated records in rails
我有一个应用程序,具有链接在一起的三个模型(配置文件->子模型->子子模型),并且具有许多关系。 我试图将用户登录后限制为仅检索与其个人资料关联的记录。 我对Rails非常陌生,这就是我在Profile模型中尝试过的
has_many :submodels, :conditions => {:profile_id => self.id}
但这在使用Profile.find_by_id(1).submodels调用时返回空数据集,那么我还能如何实现我想做的事情。 还是应该在控制器或视图中处理此问题,我认为听起来很适合模型来处理此问题。
您在has_many调用上不需要任何条件-默认情况下,它将仅返回与配置文件关联的子模型。
如果您已经为Rails约定命名了类和外键/主键,则只需使用
class Profile
has_many :sub_models
end
让Rails弄清楚。
这假定以下条件:
profiles
的表,该表具有一个名为id
的数字主键 sub_models
的表,该表具有一个名为profile_id
的数字外键
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.