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

しかし、私の研究では、上記の行が「if」状態になる例は見つかりませんでした。

@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

これは、含めるよりも速くなる可能性がありますか?また、何も起こらない場合は、他に必要はありません。

于 2013-01-23T21:12:21.270 に答える