我想创建一个嵌套资源的窗体。下面是我的路线:什么是嵌套资源的form_for语法?
map.resources :websites do |website|
website.resources :domains
end
这里是我的尝试和错误:
<% form_for(@domain, :url => website_domains_path(@website)) do | form | %>
<%= form.text_field :name %>
# ArgumentError: wrong number of arguments (1 for 0)
# form_helper.rb:290:in 'respond_to?'
# form_helper.rb:290:in 'apply_form_for_options!'
# form_helper.rb:277:in 'form_for'
<% form_for([@website, @domain]) do | form | %>
<%= form.text_field :name %>
# ArgumentError: wrong number of arguments (1 for 0)
# form_helper.rb:290:in 'respond_to?'
# form_helper.rb:290:in 'apply_form_for_options!'
# form_helper.rb:277:in 'form_for'
<% form_for(:domain, @domain, :url => website_domains_path(@website)) do | form | %>
<%= form.text_field :name %>
# ArgumentError: wrong number of arguments (1 for 0)
# wrapper.rb:14:in 'respond_to?'
# wrapper.rb:14:in 'wrap'
# active_record_helper.rb:174:in 'error_messages_for'
<% form_for(:domain, [@website, @domain]) do | form | %>
<%= form.text_field :name %>
# UndefinedMethodError 'name' for #<Array:0x40fa498>
我已经证实了正确的类都@website
和@domain
包含实例。
也正确地产生的路线是这样的例如,所以我不认为他们是与路由或网址助手的问题。
<%= website_domains_path(1) %>
<%= website_data_source_path(1, 1) %>
的Rails 2.3.5
尽管我的问题的解决方案是对问题的正确答案,但我更愿意将点数奖给别人以外的人! – Kris 2010-03-31 11:07:01
'for_for' - >'form_for'(我无法直接编辑) – static 2013-10-01 08:16:57