manage_messages_path | GET | /manage/messages(.:format) | manage/messages#index |
index.html.erb中:
<%= link_to "Chat", manage_messages_path(guest_id: order.user_id, host_id: order.room.user_id), target: true %>
#####通过manage_messages_path来传递guest_id和host_id, target实际是html的一个属性, target的参数用法如下:
值 | 描述 |
---|---|
_blank | 在新窗口中打开被链接文档。 |
_self | 默认。在相同的框架中打开被链接文档。 |
_parent | 在父框架集中打开被链接文档。 |
_top | 在整个窗口中打开被链接文档。 |
framename | 在指定的框架中打开被链接文档。 |
http://localhost:3000/manage/messages?guest_id=181&host_id=3
messages_controller.rb的index动作中:
def index
authorize! :manage, Message
guest_id = params[:guest_id]
host_id = params[:host_id]
@guest = User.find(guest_id)
@host = User.find(host_id)
@current_order = Order.lastest_order_by(@host.id, @guest.id)
@messages = Message.where("(sender_id = ? and receiver_id = ?) or (receiver_id = ? and sender_id = ?)", guest_id, host_id, guest_id, host_id).order(id: :desc).page(params[:page])
end
######即可以对params[:guest_id]和params[:host_id]进行引用