-1
class ApplicationController < ActionController::Base

  private

  # Finds the User with the ID stored in the session with the key
  # :current_user_id This is a common way to handle user login in
  # a Rails application; logging in sets the session value and
  # logging out removes it.
  def current_user
    @_current_user ||= session[:current_user_id] &&
      User.find_by_id(session[:current_user_id])
  end
end

上記のコードを理解するには?とは||=どういう意味ですか? そして@_current_user、IDまたはユーザーオブジェクトですか? また、なぜ ? で始まるの_ですか?

誰が私に答えること@_current_userができますか?

4

1 に答える 1

1

この質問によると、a ||= bは の省略形ですa || a = b

の値に関して、 が@_current_userであると仮定するsession[:current_user_id]と、 User モデル5&&演算子は User インスタンスを返します。

> 5 && User.new(:name => 'Foo')
=> #<User name="Foo"> 

User@_current_userインスタンスも同様です。

于 2013-03-31T00:24:19.837 に答える