我们假设已设置身份验证系统并且我们可以访问变量current_user
,例如:使用 Devise gem。
我们有两个模型,User
和Thing
,User has one Thing
。在控制器中,如果我们假设 aUser
只能创建/删除他自己的Thing
.
例如创建动作。
选项 1(标准):
@thing = Thing.new(params[:thing])
@thing.save
我们在视图中设置了 user_id。
选项 2:
@thing = current_user.create_thing
而且我们不用费心在视图中设置 user_id。
两者都有效,但我想知道是否必须避免或更好以及为什么。谢谢!