【问题标题】:if user_signed_in? puts some text - Devise如果 user_signed_in?放一些文字 - 设计
【发布时间】:2013-01-15 09:58:32
【问题描述】:

我有这样的想法,当user_signed_in? 为真时,我希望“登录”显示在网页的上角,但当user_signed_in? 为假时,我希望它只简单地输入“登录”。

user_signed_in? 是 Devise 的辅助方法。我想。

我如何真正做到这一点。我试过这个:

<%= if user_signed_in? => true puts "Logged In" else puts "Login" %>
<% end %>
<% end %>

但这不起作用。有任何想法吗 ?

【问题讨论】:

  • 欢迎来到 StackOverflow!希望我的回答对你有所帮助。如果是,请接受它(通过单击复选标记)!如果没有,请通过编辑问题告诉我您仍然对什么感到困惑,我很乐意为您提供帮助。

标签: ruby-on-rails devise puts


【解决方案1】:

您应该多研究一下 Ruby 语法(例如,here)。试试这个:

<% if user_signed_in? %>
  Logged In
<% else %>
  <%= link_to 'Login', ... %> # substitute the ... for whatever path goes to login
<% end %>

请注意,

还要注意,由于这是一个视图文件——因此基本上是一个增强的 html 文件——你不需要像“登录”这样的原始内容的“放置”。事实上,puts 不会将内容带到浏览器,而是将内容带到 Rails 应用程序中 STDOUT 引导的任何位置(记录器?不确定)

【讨论】:

  • 我会试试这个,谢谢 ;) 我会看看控制流示例 zetcode thingy。我会回来告诉你它是否有效
  • 祝你好运!由于您正在编写 Ruby、Rails-enhanced Ruby 和 html/embedded Ruby,Rails 语法可能会变得复杂,因此作为初学者可能会不知所措。坚持下去,看看网上提供的大量优秀教程(和 StackOverflow),你就会掌握它的窍门。
  • @MarcusTheBuilder:您可以在github.com/plataformatec/devise#controller-filters-and-helpers找到更多与设计相关的助手
  • 效果非常好。万分感谢! :D 复选标记即将问世!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多