我有一个名为
的链接<%=link_to 'Free Trial', '/sign_up', :rel => "#signup", :class => "sign_up_button"%>
其中呈现mysite.com/sign_up - 这会在Jquery灯箱中加载部分内容。然而,我想要做的是有一个控制器语句,如果单击上面的链接,它将呈现没有布局的页面。但是,如果用户从地址栏导航到mysite.com/sign_up,他们会看到相同的页面但是有布局。
我在控制器中想的是这样的:
def sign_up
if :variable == true
render :layout => false
else
render :layout => 'layouts/sign_up'
end
end
然后在我的链接中声明一个可以传递给控制器的变量?
之类的东西:variable => 'true'
我正在以正确的方式思考这个问题?上述工作如何?
这样做的主要原因是,如果自己加载mysite.com/login(没有Jquery),那么它仍然会很好看!
由于
答案 0 :(得分:0)
您有两种方式:
您可以按照自己的想法进行操作,并通过POST设置partial
标记。将/signup
替换为/signup?partial=1
并在控制器中if params[:partial]
或者您可以渲染conditionnaly查看request.xhr?
(但是jj框架必须正确设置ajax标头)