我的routes.rb文件中包含以下内容:
post 'report/mnps/generate' => 'report#mnps_generate', as: 'report_mnps_generate'
然后,在我的reports/mnps.html.erb
视图中,我有这个:
<%= button_to report_mnps_generate_path %>
但是,此按钮会重定向到reports/mnps
的帖子方法。为什么此按钮重定向到那里而不是report/mnps/generate
?
rake routes
返回:
Prefix Verb URI Pattern Controller#Action
root GET / home#index
report_index GET /report(.:format) report#index
report_mnps GET /report/mnps(.:format) report#mnps
report_mnps_generate POST /report/mnps/generate(.:format) report#mnps_generate
答案 0 :(得分:1)
button_to
的定义表明第一个参数是其名称,通常用作标签。见这里:
http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to
要获取该页面的链接,您需要像这样编写按钮
button_to('Clickme!', report_mnps_generate_path)
加载您说明的页面的原因是该按钮实际上位于同一页面上并且只是重新加载它,因为您的button_to
调用中未定义其他目的地。