我有一个模型,允许用户创建许多。我只希望用户在登录时看到这些对象。到目前为止我设置了对象belongs_to:user
和用户has_many:objects
,但是如何在创建对象时设置用户属性。我基本上希望用户创建它,然后稍后使用对象find(where user=current_user)
显示所有这些。
答案 0 :(得分:5)
在您的objects_controller.rb中,创建操作执行以下操作:
@object = current_user.objects.build(params[:object])
而不是:
@object = Object.new(params[:object])
要检索当前用户的对象,只需:
@objects = current_user.objects
答案 1 :(得分:0)
您需要能够对用户进行身份验证的内容。我建议使用Devise
或authlogic
答案 2 :(得分:0)
@object = current_user.objects.build(params[:object])
<% if current_user %>
<% objects = current_user.objects %>
<% for object in objects %>
<% object.name %>
<% end %>
<% else %>
<p>Not logged in</p>
<% end %>