如何允许用户在其他人的个人资料上发帖

时间:2013-04-30 05:46:06

标签: ruby-on-rails forms model-view-controller

我的用户有很多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])

1 个答案:

答案 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