Ruby 1.9.3并使用HAML。
尝试构建表单以进行特定操作,但遇到路由问题。表单上的代码是
%form#feedback_form{:action=>"give_feedback_account_path", :method => 'post', :style => "padding: 0 5px;"}
%input{:name => "authenticity_token", :value => form_authenticity_token, :type => "hidden"}
blah blah blah
.field
%input#feedback_submit{:type => "submit", :value => "give feedback"}
当我尝试提交表单时,我收到了404响应,查看服务器日志给了我......
Started POST "/give_feedback_account_path" for 127.0.0.1 at 2014-06-03 10:07:12 +0100
ActionController::RoutingError (No route matches "/give_feedback_account_path"):
当我运行rake路线以获取详细信息时
give_feedback_account POST /account/give_feedback(.:format)
{:action=>"give_feedback", :controller=>"accounts"}
我错过了什么?
答案 0 :(得分:2)
你的网址是/give_feedback_account_path
,这不好。要解决此问题,您可以使用form_tag
帮助程序:
= form_tag give_feedback_account_path, method: 'post', style: 'padding: 0 5px;' do
// your form goes here
答案 1 :(得分:0)
更改此
:action=>"give_feedback_account_path"
到这个
:action => give_feedback_account_path
give_feedback_account_path是一种方法。你想打电话给它,以获得实际的路径。