1

在我的 Rails 3 应用程序中,我的“显示”视图呈现提交的表单。我想创建一个“信息”视图,显示来自同一个提交表单的不同数据。它基本上是一个替代的显示视图。

我将它放入我的控制器中,但它不起作用:

  def show
    @form = Form.find(params[:id])
  end

  def info
    @form = Form.find(params[:id])
    render :layout => 'info'
  end

它所做的只是显示“显示”视图。我该如何纠正?

4

2 回答 2

0

问题一定出在其他地方,因为这两个动作看起来不错。在此示例中,您的show操作应该使用您的show视图,并且您的info操作应该使用您的info视图(尽管布局也称为“信息” - 您可能需要考虑重命名它,这样您就不会混淆布局和视图) .

您确定您的路线设置正确吗?Form您是否为您的模型设置了“信息”路线?IE

路线.rb:

resources :forms do
    get :info
end

您是否正在导航到正确的 URL?(在这种情况下,http://yourhost/forms/123/info)?

于 2012-08-17T17:43:19.677 回答
-1

你可以打电话

 def info
    @form = Form.find(params[:id])
     render :action => 'show'
 end

它将使用 info 方法中定义的 @form 实例变量,确保您有正确的路由设置

于 2012-08-17T17:45:02.037 回答