如何在Rails 3中渲染备用节目视图?

时间:2012-08-17 17:35:24

标签: ruby-on-rails ruby-on-rails-3

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

我把它放到我的控制器中,但它不起作用:

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

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

它只是显示'show'视图。我该如何纠正?

2 个答案:

答案 0 :(得分:0)

问题必须在其他地方,因为这两个行动看起来很好。在此示例中,您的show操作应使用您的show视图,并且您的info操作应使用您的info视图(尽管布局也称为“信息” - 您可能想考虑重命名,这样你就不会在布局和视图之间混淆。)

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

routes.rb中:

resources :forms do
    get :info
end

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

答案 1 :(得分:-1)

你可以打电话

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

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