コントローラー アクションの 1 つでユーザーを検索しています。params[:user_id] が nil になることもあり、その場合、検索で current_user が返されます。次の 2 つの検索方法では、同じ結果が得られるようです
@user = User.find(params[:user_id]||=current_user)
と
@user = User.where('id = ?', params[:user_id]).first || current_user
質問は次のとおりです。
1) より適切な検索方法はどれですか? 2) params[:user_id] が nil の場合、検索をすべてバイパスする方法はありますか?
行 2 を達成するために if/else ステートメントを思いつくことができると確信していますが、それはハックだと感じています。でも、そうじゃないかも?
ありがとう!