Ruby on RubyとRuby on Railsの新機能です.Cのような言語を背景にしています。ここでRuby on Railsのクラス変数とメソッドの理解
def current_user
@current_user ||= Renter.find(session[:user_id]) if session[:user_id]
end
helper_method :current_user
def authorize_user
redirect_to '/login' unless current_user
end
は、私はそれについて理解していないものです: - ライン4日、:current_user
はcurrent_user
インスタンスメソッドを呼び出すか、直接アクセスしている
ここ
は、私がapplication_controller.rb
ファイルで見つかったいくつかのコードです@current_user
インスタンス変数?
- current_user
インスタンスメソッドを呼び出すcurrent_user
、または@current_user
インスタンス変数に直接アクセスしていますか?
- 2行目では、変数が:user_id
か、キーとして使用される文字列リテラルによく似ていますか? JavaScriptのようなものは、session
オブジェクトのuser_id
プロパティを取得するためにsession["user_id"]
と書くかもしれません。
4行目の ':current_user'と7行目の' current_user'は何を参照していますか? ':current_user'もシンボルですか? – AjaxLeung
@AjaxLeung updated answer –
かなり徹底したルビーの教科書を読むことをお勧めします(例は必要ありません、概念を理解するだけです)。これをしなくてもRailsを学ぶことはできませんでしたが、確かにRubyを理解することは、Railsをデバッグしたり、「魔法」を解体するときに便利です。 –