所以我有一个名为Project的模型,其中有一个名为Proposal的嵌套模型(因此每个项目都有多个提案,每个提案只属于一个项目)。
我有一个名为“胜利”的提案专栏,只是检查其中一个提案是否已赢得该项目。我想在项目的Show页面上引用它,但有点困惑的代码。
我真正想做的是检查任何提案是否具有“获胜”状态
这就是我正在尝试的项目显示视图,但它不起作用:
<% if @project.proposals.winning %>
SUCCESSFUL
<% end %>
我觉得这应该是非常简陋的,但我很难搞清楚,谢谢!
答案 0 :(得分:1)
改为使用它:
<% if @idea.proposals.count{|a| a.winning } > 0 %>
甚至更好地在Idea模型中为它创建一个方法:
def has_winning?
proposals.count{|a| a.winning } > 0
end
答案 1 :(得分:1)
这是理想的候选人:
<% if @idea.proposals.any? {|proposal| proposal.winning? } %>
如果对于任何数组元素,块返回true,则Enumerable.any?返回true。
答案 2 :(得分:0)
好的,在另一篇文章中找到了这个代码并且它似乎正在运行,但不确定它是否是最佳方式:
<% if @idea.proposals.map(&:winning).flatten %>