我是Ruby on Rails的新手,我对devise和rails/ruby方法只有一点熟悉。
我有一个登录页面。我有一个检查用户是否登录的页面;如果他登录了,就显示一个部分,如果没有,就显示另一个部分;
<%= render(user_signed_in? ? '/layouts/signed_in_header' : '/layouts/signed_out_header') %>现在,除了一个html.erb异常,我怎么能做到以上几点呢?有没有类似于Is_not方法的东西?
如果用户已经登录,并且他所在的页面是not_here_please,我不希望显示signed_in_header。如果用户已登录,它应该每隔一页显示一次。
有没有类似这样的东西:
<%= render(user_signed_in? ? and page_is_not 'not_here_please'
'/layouts/signed_in_header' : '/layouts/signed_out_header') %>谢谢你的帮助
克里斯。
发布于 2013-02-02 06:49:12
正如马克西莫夫所说:
<%= render((user_signed_in? && controller.action_name != 'not_here_please') ? '/layouts/signed_in_header' : '/layouts/signed_out_header') %>在您的情况下,您可以随意使用任何与controller.action_name不同的东西。我只是觉得这是表达你所要求的最合适的方式。
https://stackoverflow.com/questions/14656115
复制相似问题