如何在Rails中使用if条件的结果?类似于:
if @edits.where(:article_id => a.id).first
THIS.body.html_safe
else
a.body.html_safe
end我怎么才能得到那个条件的结果呢?那是,这是记录?
谢谢!
发布于 2013-06-19 06:18:07
你可以用一行来写:
(@edits.where(:article_id => a.id).first || a).body.html_safe发布于 2013-06-19 06:16:55
您可以在if语句中执行赋值。
if edit = @edits.where(:article_id => a.id).first
edit.body.html_safe
else
a.body.html_safe
end发布于 2013-06-19 06:56:58
把这样的逻辑考虑进去,或者说是帮手,是非常丑陋的。判断这些不是View的工作。
更好的替代办法:
# Article model
def default_edit
edits.first
end
# Articles Controller
def show
article = Article.find(params[:article])
@article = article.default_edit || article
end
# view: no need to do anything, just plain obj
<%= @article.body %>https://stackoverflow.com/questions/17184056
复制相似问题