我正在尝试创建一个嵌套的表单,但我遗漏了一些错误。
- 配置模型
class Configuration < ActiveRecord::Base
has_many :configoptions
accepts_nested_attributes_for :configoptions
end
- 显示配置视图
<%= form_for @config do |f| %>
<%= f.fields_for :configoptions do |fp| %>
<p>
<%= fp.label :name %>
<%= fp.text_field :name %>
</p>
<% end %>
<%= f.submit %>
<% end %>
根据一些在线指南,我发现这应该有效。但我一直收到错误:
undefined method `configuration_path' for #<#<Class:0x2549dac>:0x2548f88>
有没有人知道如何使这项工作?
非常感谢!
答案 0 :(得分:2)
您的路线似乎配置不正确。以下一行:
<%= form_for @config do |f| %>
创建一个表单标记以将新的/更新的对象发布到。在这种情况下,它会查找configuration_path
作为新对象表单的默认路径。使用rake routes
查看是否有与此相似的列表
configurations GET /configurations(.:format) {:action=>"index", :controller=>"configurations"}
POST /configurations(.:format) {:action=>"create", :controller=>"configurations"}
或在resources :configurations
中查找config/routes.rb
。 (如果没有,请添加resource :configurations
)。如果您对路由感到困惑,请查看相应的Rails指南:
http://guides.rubyonrails.org/routing.html
或者,您可以通过将:url
参数传递给表单助手来指定要将操作发布到的其他URL:
<%= form_for @config, :url => some_other_path do |f| %>