如何通过 link_to 将参数传递给 action#new(在嵌套的 has_many 关联中)

how to pass params to action#new (in a nested has_many association) via link_to

我有一个影院系统,您可以在其中 select 看一场戏并买票 所以我有一个 link_to:

<td><%= link_to 'Buy', new_offer_path(:session_id => session.id) %></td>

我有一个名为报价的模型和一张模型票,当用户按下“购买”时,它会生成一个报价。此优惠有一个嵌套票,我需要的信息是 session_ID 以在优惠中创建票 ID。

这是我的报价控制器 #new 操作:

def new
    @offer = Offer.new
    @offer.ticket = params[:session_id]

    respond_with(@offer)
end

但这行不通,我需要 link 传递的参数来填写报价中的票务字段,我该怎么做?

其他可能有用

报价型号

class Offer < ActiveRecord::Base
     belongs_to :ticket
end

机票型号

class Ticket < ActiveRecord::Base
  belongs_to :session
  belongs_to :seat

  has_many :offers
end

在您的表单中添加以下内容:

<%= f.hidden_field :session_id, :value => params[:session_id] %>

以便 session_id 持续到 create 操作。