-4

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

到目前为止,我想出了这个;

@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"})

但是我在我的研究中没有找到一个例子,上面的行进入“如果”条件,我只是这样做吗?

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

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

4

2 回答 2

3
if @job.project_status.include?("completed")
 #something here 
else
 #nothing
end
于 2013-01-23T21:02:17.097 回答
0

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

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

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

于 2013-01-23T21:12:21.270 回答