我将尝试进行消息功能的开发(使用acts-as-messageable gem),并希望用户在发送消息时无需输入“:to”字段。
我的信息控制器:
在我的 /users/show.html.erb 文件中,我有:
<%= link_to 'Send a message', new_message_path %>
在我的 /messages/new.html.erb 页面中:
<%= simple_form_for @message, :url => messages_path, :method => :post do |f| %>
<%= hidden_field_tag :user_id %>
<%= f.input :body %>
<%= f.submit %>
<% end %>
我的信息控制器:
我的消息控制器:
def new
@message = ActsAsMessageAble::Message.new
end
def create
@to = User.find(params[:user_id])
current_user.send_message(@to, params[:body])
end
当我提交表单的时候,Rails显然找不到id为nothing的用户,因为没有提供param[:user_id]。
我无法弄清楚如何将参数传递到表单中的hidden_field_tag中?
感谢您的帮助。
@messages
的form_for
表单,因此@user
可能为空,因为我没有将其传递到块中。有没有办法做到这一点? - ralphos