0

我的用户有很多微博。微博属于用户。现在只有用户可以在他/她的个人资料上发帖。我怎么能让每个人都在那里发帖。我已经运行了一个迁移,将列“sender_id”添加到 Micropost 表中,但我似乎无法弄清楚如何使用 sender_id。我是 Rails 新手,感谢阅读。

微博创建控制器:

@user = User.find(73) #change so it posts to the user page im on
@micropost = @user.microposts.build(params[:micropost])
@micropost.sender_id = current_user.id
if @micropost.save
  flash[:success] = "Music Posted!"
  redirect_to :back
end

微博形式:

<%= form_for(@micropost) do |f| %>
  <div class="field">
    <%= f.text_area :comment, placeholder: "send a message" %>
  </div>
    <%= f.submit "Share", class: "btn btn-medium btn-primary" %>
<% end %>

在 Microposts 表中,我希望 User_id 是拥有个人资料的人,而 Sender_id 是在其他人的个人资料上发帖的用户。

解决方案是将 hidden_​​field_tag 添加到微帖子表单以获取 user_id 参数集,然后 @user = User.find(params[:user_id])

4

1 回答 1

1

您可以将代码更改为:

@user = User.find(73) #change so it posts to the user page im on
@micropost = @user.microposts.build(params[:micropost])
@micropost.sender = current_user # or whatever indicates your current user
if @micropost.save
  flash[:success] = "Music Posted!"
  redirect_to :back
end
于 2013-04-30T05:48:41.673 回答