的routes.rb
put '/', to: 'search#admin_action', as: 'admin_action'
root 'search#index
search_controller.rb
class SearchController < ApplicationController
def index
end
def admin_action
redirect_to root_path
end
end
我在index.html.haml页面下有两个表单 ...
= form_tag({action:'index'}, {method: :get})
...
= submit_tag 'Search'
...
= form_tag({url: admin_action_path}, {method: :put})
...
= submit_tag 'Action'
在这种情况下,所有两个提交按钮都将由索引方法处理(永远不会调用admin_action)。实际上,对于所有下面的提交按钮,始终从第一个表单开始操作。在erb文件中,也许我可以使用一些&lt;%end%&gt;分割这些表单,但如何在haml文件中执行此操作。
答案 0 :(得分:0)
Form_tag (在 haml 下)不会在最终源中生成</form>
。 form_for 运行正常。要获得正确的最终来源, form_tag 必须与 do 一起使用。所以正确的第一行将是
= form_tag({action:'index'}, {method: :get}) do