url传递参数标准形式

本文介绍了一个聊天功能的实现方法,通过传递guest_id和host_id参数来定位对话双方,并使用messages_controller处理消息请求。文章详细展示了如何在Rails应用中设置路由、控制器逻辑及视图链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 在指定的框架中打开被链接文档。
点击Chat按钮后链接到的url实例中如下:

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]进行引用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值