Ric*_*wis 2 ruby ruby-on-rails case
我试图创建一个Case语句来确定一个属性是否存在,如果它然后显示一个链接,例如.
<% case %>
<% when @team_member.twitter? %>
<%= link_to '', @team_member.twitter, target: '_blank', class: 'icon-twitter' %
<% when @team_member.facebook? %>
<%= link_to '', @team_member.facebook, target: '_blank', class: 'icon-facebook' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
显然这不起作用,我想澄清的是
1)在初始案例之后我宣布了什么,我见过的例子有什么样的,<% case a %>或者<% case object %>是正确的吗?
2)如何检查对象是否具有属性?
所以我想在这里做的就是说什么时候:team_member填充它的twitter属性然后显示链接,对于facebook属性也一样.
任何帮助赞赏
case需要一个目标表达来评估.case可以在没有目标的表达工作,提到这里.这使得case工作就像一个if/else结构.ActiveRecord模型,则可以使用has_attribute?(attr_name)在您的代码中,使用if语句可能更容易,因为如果用户设置了这些属性,您可能希望同时显示twitter和facebook链接.
<% if @team_member.has_attribute?(:twitter) %>
<%= link_to '', @team_member.twitter, target: '_blank', class: 'icon-twitter' %>
<% end %>
<% if @team_member.has_attribute?(:facebook) %>
<%= link_to '', @team_member.facebook, target: '_blank', class: 'icon-facebook' %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
327 次 |
| 最近记录: |