我对Rails中的form_for方法有一个问题。它的行为很奇怪。
我有一个带有路径前缀的路由,如下所示:
map.resources :beers, :path_prefix => '/:brewery'我有一个类似这样的表单(@beer.brewery是一个字符串,只是啤酒厂的名称):
<% form_for @beer, :url => { :brewery => @beer.brewery } do |form|
--some fields
<% end %>它会将表单的操作设置为this,以创建新记录。
/brewery_name/beers/new这是一个现有的记录。
/brewery_name/beers/1/edit有谁知道为什么会发生这种情况,或者知道如何修复它?
-编辑--
现在我正像这样解决这个问题(为了创造一个新的记录):
<% form_for @beer, :url => beers_path(@beer.brewery) do |form| %>和(对于已编辑的记录)
<% form_for @beer, :url => beer_path(@beer.brewery, @beer) do |form| %>但是,如果可能的话,我想对new和edit使用相同的方法。
干杯,蒂伊斯。
发布于 2010-08-26 08:37:27
我猜你想把这个送到啤酒厂去喝。在这种情况下:
<% form_for [@beer.brewery, @beer] do |f| %>
-- some fields
<% end %>通过提供一个数组作为form_for的第一个参数,它将生成一个嵌套资源。
https://stackoverflow.com/questions/3571096
复制相似问题