任何人都知道如何在轨道上做“if”?

时间:2013-01-23 20:59:11

标签: ruby

我一直在开发一个小应用程序,在创建新帖子的某个时候,我希望我的应用程序检查数据库中的某些文本值,特别是查找“已完成”。

到目前为止,我提出了这个问题;

@job = current_user.Jobs.where(:all, :project_status => "completed")
if @job.exists?
   do something
else
   send an error
end

这是完全错误的,在阅读了一些内容并通过几个例子后,我认为以下内容做同样的事情;

@job = current_user.Jobs.exists?(:conditions = {:project_status => "completed"})

但我没有在我的研究中找到一个例子,其中上述行进入“if”条件,我是否只是这样做;

@job = current_user.Jobs.exists?(:conditions = {:project_status => "completed"})
     if @job
        do something here
     else
        do something else here
     end

会更短,更清洁,更正确吗?

2 个答案:

答案 0 :(得分:3)

if @job.project_status.include?("completed")
 #something here 
else
 #nothing
end

答案 1 :(得分:0)

我不确定该列中还有其他内容。包含可能没有评估字符串那么快。

if @job.project_status == 'completed'
 #something here 
end

这可能最终比包括更快?如果什么都不会发生,你也不需要别的。