メソッドの引数についての初歩的な疑問
Ruby及びRuby on Rails初心者です。
メソッドの引数について疑問があります。
HogeController以外でhoge1,hoge2を実行する場合も、必ず@userをセットするものとします。
以下のhoge1, hoge2はともに同じ結果になると思います。
しかし、やはり可読性や安全性等からhoge1のように@userを引数として渡すべきなのでしょうか。
なかなか答えにたどり着けず悩んでおります。
どうぞよろしくお願いいたします。
ruby
1class HogeController < ActionController::Base 2 @user = User.find(params[:id]) 3 4 hoge1(name: "太郎", user: @user) 5 6 hoge2(name: "太郎") 7 8end
ruby
1class ApplicationController < ActionController::Base 2 3 def hoge1(name: nil, user:) 4 name.nil? ? user.name = "名無し" : user.name = name 5 end 6 7 8 def hoge2(name: nil) 9 name.nil? ? @user.name = "名無し" : @user.name = name 10 end 11 12end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/22 23:14