在我的Rails 3应用中,我的“show”视图呈现了一个提交的表单。我想创建一个“信息”视图,显示来自同一提交表单的不同数据。它基本上是一个替代的展示视图。
我把它放到我的控制器中,但它不起作用:
def show
@form = Form.find(params[:id])
end
def info
@form = Form.find(params[:id])
render :layout => 'info'
end
它只是显示'show'视图。我该如何纠正?
答案 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实例变量,确保你有正确的路由设置