Rails重定向问题

时间:2011-09-15 22:14:17

标签: ruby-on-rails-3 routes redirecttoaction nested-routes

我在rails应用程序中设置了一些简单的关联:

resources :properties do
 resources :units
end

更新单位后:

'本地主机:3000 /属性/ 2 /单位/ 3 /编辑'

我希望被重定向回适当的位置。

点击“更新”后,我被重定向回:

'localhost:3000 / units / 3',但应该去'localhost:3000 / properties / 2 / units / 3 /'

在我的单位控制器中,我有:

if @unit.update_attributes(params[:unit])
    format.html { redirect_to(property_units_path(@property, @unit), :notice => 'Unit was successfully updated.') }
    format.xml  { head :ok }
  else
    format.html { render :action => "edit" }
    format.xml  { render :xml => @unit.errors, :status => :unprocessable_entity }
  end

这是否适用于我的redirect_to函数?我仍然试图熟悉路线的工作方式,但我觉得这应该有用吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

你快到了。您应该重定向到:

format.html { redirect_to(property_unit_path(@property, @unit), :notice => 'Unit was successfully updated.') }

请注意,您必须使用路由帮助程序方法的单一版本才能生效。有关详细信息,请查看routing上的导轨指南。