【问题标题】:Rails ERB avoid calling a non-related recordRails ERB 避免调用不相关的记录
【发布时间】:2014-04-22 20:03:39
【问题描述】:

老实说,我一直在寻找这个基本问题的答案,但什么也没找到。第一次制作具有相关记录的应用程序时,我经常会收到“NoMethodError”。有时第一条记录与另一个表无关,因为它当时不存在。为了防止这种情况,我已经开始在很多地方添加“if”块,但认为可能有更清洁的方式来做到这一点。这是一个例子:

Name:      <%=record.name%>
Address:   <%= record.address.addresslineone %>

如果没有记录的地址,上面的这个可能会崩溃。所以我将其替换为:

Name:      <%=record.name%>
Address:   <% if record.address %><%= record.address.addresslineone %><% end %>

我确信有更好的方法来解决这个问题。我把我的无知摆在你面前,请求帮助和善意;-)

标记

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 erb


    【解决方案1】:

    你可以使用try:

    Address:   <%= record.address.try(:addresslineone) %>
    

    如果addressaddress.addresslineone 中的任何一个为nil,这将返回nil

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多