我有2个名为Event和Ticket的模型。 一个事件有很多票,一张票属于一个事件。 在事件show视图中,我想要一个名为“Generate Tickets”的链接或按钮,点击它时应调用控制器中的generate_tickets方法,该方法应该生成票证并将票证数组链接到事件。
此外,我希望如果在生成方法后它停留在同一页面上并通知已生成票证,而不是被重定向。
我研究了这个,看到我在我创建的事件控制器中需要一个辅助方法,在show视图中我有这个方法..
<%= link_to "Generate Tickets", :controller => :events, :method => :generate_tickets %>
但这似乎没有调用方法。
我做错了什么?
答案 0 :(得分:0)
您应该修改link_to
,如下所示
<%= link_to "Generate Tickets", :controller => :events, :action => :generate_tickets %>
您应该使用:action
而不是:method
来调用 控制器方法 。
:method
用于指定 HTTP动词 (即POST, GET, PUT, PATCH
)。
更多信息Here。
此外,我希望通过定义route
并将其作为link_to
的路径
#routes.rb
get "generate_tickets", to: 'events#generate_tickets', as:'generate_tickets'
然后link_to
将成为
<%= link_to "Generate Tickets", generate_tickets_path %>