我有以下品牌范围的基本控制器
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
变量current_brands_member
是members
身份验证的设备模型。每个成员都属于Company
members(id, name, company_id,...)
companies(id, name, ....)
brands(id, name, company_id,...)
由于我将遍历公司的成员到品牌,我想设置一个公共变量current_company
,当控制器和视图中需要时,它将具有member's company
的内容。
当我尝试在控制器中访问相同的
时class Brands::MembersController < Brand::ApplicationController
def index
puts current_company.inspect
end
end
我收到以下错误
undefined local variable or method `current_company' for #<Brands::MembersController:0x007f90c34a8138>
答案 0 :(得分:1)
您无法从类外部访问private
方法。删除private
指令或将方法移到它之外。
答案 1 :(得分:1)
但有一件事。在$myMap['12']['name']
的代码中,您遇到语法错误:
Brand::AppController