ruby-on-rails – 检查属性是否存在并设置的最佳方式是什么?

我有一个共同的看法,列出两个不同的模型。唯一的区别是,当设置link_to操作时,其中一个模型有一个链接属性,另一个没有。我想检查链接属性是否存在,如果是,请检查是否设置。我有以下的工作,但我想知道是否有更好的方法。

%li
  - if @element.has_attribute?("link") && @element.link
    = link_to @element.title, @element.link
  - else
    = link_to @element.title, @element
你可以使用presence

= link_to @element.title, (@element.link.presence || @element)

或者,如果@element可能没有链接,您可以使用try

= link_to @element.title, (@element.try(:link) || @element)
http://stackoverflow.com/questions/19212140/what-is-the-best-way-to-check-if-an-attribute-exists-and-is-set

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ruby-on-rails – 检查属性是否存在并设置的最佳方式是什么?