我的用户有很多Microposts。 Microposts属于用户。现在只有用户可以发布他/她的个人资料。我怎样才能让每个人都在那里发帖。我运行了一个将“sender_id”列添加到Micropost表的迁移,但我似乎无法弄清楚如何使用sender_id。我很高兴能够阅读。
Micropost创建控制器:
@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
Micropost表格:
<%= 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])
答案 0 :(得分: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