我是Ruby on Rails的新手。我对设计和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') %>
感谢您的帮助,
克里斯。
答案 0 :(得分:1)
正如马克西莫夫所说:
<%= render((user_signed_in? && controller.action_name != 'not_here_please') ? '/layouts/signed_in_header' : '/layouts/signed_out_header') %>
在您的情况下,随意使用与controller.action_name
不同的任何内容。我只是认为这是表达你要求的最合适的方式。