如何确定在控制器操作中呈现哪个视图

时间:2010-09-03 14:24:09

标签: html ruby-on-rails ruby actioncontroller

好的,我对如何实现这一点有一些不同的想法,但我想在这里会问有人有更好的解决方案。

我有一个SessionsController,它有一个登录视图和一个widget_login视图。我想知道如何确定在SessionsController的新操作中呈现哪个视图。

现在,所有内容都使用标准登录视图。如果请求来自我的小部件(reviewscontroller),我希望能够呈现widget_login视图,该小部件上有“登录”链接。如果可能的话,我不想使用引荐来确定这一点。

由于

2 个答案:

答案 0 :(得分:1)

如果没有看到你的代码,不确定这是否可行,但是如何做到这一点:

respond_to do |format|
    format.html { render(:action => 'new') }
    format.widget { render(:action => 'widget_login') }
end

然后在您的小部件链接中new.widget

答案 1 :(得分:0)

在操作代码的末尾:

render :layout => 'my_layout'

如果已经有render来电,请修改后添加:layout参数。