私は、変数current_brands_member
がmembers
のための認証のためのデバイスモデルであるブランドスコープについて次の基本コントローラ設定変数
class Brand::ApplicationController < ApplicationController
before_action :authenticate_brands_member!
before_action :current_company
helper_method :current_company
private
def current_company
current_brands_member? current_brands_member.company : nil
end
end
を持っています。私は、コントローラとビューで必要なときmember's company
のコンテンツを持つことになります一般的な変数current_company
を設定したいブランドに会社にメンバーを横断することになるので、各メンバーがCompany
members(id, name, company_id,...)
companies(id, name, ....)
brands(id, name, company_id,...)
に属します。
私はこの
class Brands::MembersController < Brand::ApplicationController
def index
puts current_company.inspect
end
end
のようなコントローラで同じにアクセスしようとするあなたはクラス自体の外からprivate
メソッドにアクセスすることはできません、次のエラーに
undefined local variable or method `current_company' for #<Brands::MembersController:0x007f90c34a8138>
'それが唯一の暗黙の' self'ことができるような方法の受信機を指定することができないようにprivate':
Brand::AppController
であなたのコードでは、構文エラーがあります。したがって、 'current_company'への呼び出しはこの文脈では完全にOKです。 –