传递的参数未在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
都有一个独特的price
, description
和name
,当我尝试以多种方式访问它们时,我得到(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
对象的价格。