1

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

resources :properties do
 resources :units
end

更新单位后:

'localhost:3000/properties/2/units/3/edit'

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

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

'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 函数中的适当用途吗?我仍在尝试熟悉路线的工作方式,但我觉得这应该可行吗?

谢谢!

4

1 回答 1

0

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

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

请注意,您必须使用单数版本的路由辅助方法才能使其正常工作。有关更多详细信息,请查看有关路由的导轨指南。

于 2012-06-26T19:15:36.477 回答