我之前发布了这个问题:Passing parameters on button click in Rails
答案非常有效。但是,我传递的参数无法在erb中调用,即使是从@event_option_id
方法传递的book_now
也是如此。
它在我的服务器日志中显示为Parameters: {"event"=>"4", "event_option_id"=>"5"}
,但当我尝试使用<%= @event_option_id %>
时,它会变回空白,当我刚刚将其作为to_i
进行测试时,它显示{{1}而不是0
。
我的5
有这种方法:
EventsController
我的链接传递的参数如下:
def book_now
@event_option_id = params[:event_option_id]
end
我正在尝试传递此<%= link_to "Book This Event Now!", book_now_path(:event => @event.id, :event_option_id => e.id), :id => "book-now-button", :class => "button" %>
,以便我可以从我的数据库中访问相应的值。
每个@event_option_id
都有EventOption
,price
和description
,这是唯一的,当我尝试以多种方式访问这些时,我得到{{}例如,1}}。
知道发生了什么事吗?
答案 0 :(得分:1)
使用@event_option_id = params[:event_option_id]
,您只需将event_option_id参数值分配给实例变量。
您应该做的是使用event_option_id查找相应的EventOption
对象,如下所示:
@event_option = EventOption.find(params[:event_option_id])
使用控制器方法中的那段代码,视图中的<%= @event_option.price %>
将显示该EventOption
对象的价格。