传递的参数未在Rails中读取

我之前发布了这个问题: 在Rails中点击按钮时传递参数

答案非常有效。 但是,我传递的参数无法在erb中调用,即使是从book_now方法传递的book_now也是book_now

它在我的服务器日志中显示为Parameters: {"event"=>"4", "event_option_id"=>"5"}但是当我尝试使用它返回空白,当我刚刚测试它为to_i ,它显示0而不是5

我的EventsController有这个方法:

 def book_now @event_option_id = params[:event_option_id] end 

我的链接传递这样的参数:

  @event.id, :event_option_id => e.id), :id => "book-now-button", :class => "button" %> 

我试图传递这个@event_option_id以便我可以从我的数据库中访问相应的值。

每个EventOption都有一个独特的pricedescriptionname ,当我尝试以多种方式访问​​它们时,我得到(NoMethodError: undefined method 'price' for nil:NilClass)

知道发生了什么事吗?

使用@event_option_id = params[:event_option_id]您只需将event_option_id参数值分配给实例变量。

您应该做的是使用EventOption查找相应的EventOption对象,如下所示:

 @event_option = EventOption.find(params[:event_option_id]) 

使用控制器方法中的那段代码,视图中的<%= @event_option.price %>将显示该EventOption对象的价格。