2009-08-05 155 views
0

这里是路线:的form_for嵌套资源

map.resources :networks do |network| 
    network.resources :channels, :name_prefix => nil 
    end 

以下是我在为我的形式。

<% form_for ([@network, @channel]) do |f| %> 
... 
<% end %> 

我得到,因为form_for一个未定义的方法错误是试图调用“network_channel_path”。发生此错误的原因是我的通道:name_prefixnil。如何在不完全写出form_form的所有必要参数的情况下避免此问题?的

回答

1

而是采用:name_prefix => nil使用:shallow => true

这不会与你_paths

+0

使用这种方法会需要我返工我的一些看法,主要是我所有的路径来电显示networks/:network_id,而不是一塌糊涂,但我喜欢这个解决方案。谢谢! – mikeycgto 2009-08-05 15:57:39

+1

你仍然可以访问params [:network_id] FYI – ErsatzRyan 2009-08-05 17:28:41