我一直在开发一个小应用程序,在创建新帖子的某个时候,我希望我的应用程序检查数据库中的某些文本值,特别是查找“已完成”。
到目前为止,我提出了这个问题;
@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
会更短,更清洁,更正确吗?
答案 0 :(得分:3)
if @job.project_status.include?("completed")
#something here
else
#nothing
end
答案 1 :(得分:0)
我不确定该列中还有其他内容。包含可能没有评估字符串那么快。
if @job.project_status == 'completed'
#something here
end
这可能最终比包括更快?如果什么都不会发生,你也不需要别的。