未定义的方法`contact_forms_path'
undefined method `contact_forms_path'
我 运行 在尝试创建表单时遇到错误:
ActionView::Template::Error (undefined method `contact_forms_path' for #<#<Class
问题是我从未创建过 contact_forms
路由,所以我不知道为什么我得到 contact_forms_path
.
的未定义方法
我的联系表路线是:
get "/contact_form/new", to: "contact_form#new"
我对该表格的看法是 new.html.erb
在我的 contact_form 目录中
<%= simple_form_for @contact_form do |f| %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<%= f.input :email, placeholder: 'example@email.com' %>
<%= f.input :address %>
<%= f.input :city %>
<%= f.input :state %>
<%= f.input :zip_code %>
<%= f.input :phone %>
<%= f.button :submit %>
<% end %>
我的模型是contact_form.rb
,我的控制器是contact_form_controller.rb
。
我需要一点指导。任何帮助表示赞赏。如果需要,我可以传递更多信息。
谢谢!
form_for
假定新 Foo
记录的默认值 url 为 foos_path
,如此处解释...
http://apidock.com/rails/ActionView/Helpers/FormHelper/form_for
您需要指定 contact_form
将 post 到...
的路径
post "/contact_forms", to: "contact_forms#create", as: 'contact_forms"
这将是您提交表单时接收参数的路由。
请注意,作为 shorthand,您可以在 routes.rb
中指定
resources :contact_forms, only: [:new, :create]
(假设您将使用更常规的 contact_forms#new
... convention-over-configuration 是对控制器名称使用复数形式)
请试试这个:
将此添加到您的路线中:
post "/contact_form", to: "contact_form#create"
打开终端并运行:
rake routes|grep contact_form
你应该得到这样的回复:
contact_form_new GET /contact_form/new(.:format) contact_form#new
contact_form POST /contact_form(.:format) contact_form#create
这为您提供了路线的路径。现在您可以在 simple_form_for:
中指定该路径
<%= simple_form_for @contact_form, url: contact_form_path, method: :post do |f| %>
我 运行 在尝试创建表单时遇到错误:
ActionView::Template::Error (undefined method `contact_forms_path' for #<#<Class
问题是我从未创建过 contact_forms
路由,所以我不知道为什么我得到 contact_forms_path
.
我的联系表路线是:
get "/contact_form/new", to: "contact_form#new"
我对该表格的看法是 new.html.erb
在我的 contact_form 目录中
<%= simple_form_for @contact_form do |f| %>
<%= f.input :first_name %>
<%= f.input :last_name %>
<%= f.input :email, placeholder: 'example@email.com' %>
<%= f.input :address %>
<%= f.input :city %>
<%= f.input :state %>
<%= f.input :zip_code %>
<%= f.input :phone %>
<%= f.button :submit %>
<% end %>
我的模型是contact_form.rb
,我的控制器是contact_form_controller.rb
。
我需要一点指导。任何帮助表示赞赏。如果需要,我可以传递更多信息。
谢谢!
form_for
假定新 Foo
记录的默认值 url 为 foos_path
,如此处解释...
http://apidock.com/rails/ActionView/Helpers/FormHelper/form_for
您需要指定 contact_form
将 post 到...
post "/contact_forms", to: "contact_forms#create", as: 'contact_forms"
这将是您提交表单时接收参数的路由。
请注意,作为 shorthand,您可以在 routes.rb
中指定resources :contact_forms, only: [:new, :create]
(假设您将使用更常规的 contact_forms#new
... convention-over-configuration 是对控制器名称使用复数形式)
请试试这个:
将此添加到您的路线中:
post "/contact_form", to: "contact_form#create"
打开终端并运行:
rake routes|grep contact_form
你应该得到这样的回复:
contact_form_new GET /contact_form/new(.:format) contact_form#new
contact_form POST /contact_form(.:format) contact_form#create
这为您提供了路线的路径。现在您可以在 simple_form_for:
中指定该路径<%= simple_form_for @contact_form, url: contact_form_path, method: :post do |f| %>