新手问题 代码执行顺序的问题

kingwkb · 2013年06月23日 · 最后由 kingwkb 回复于 2013年06月23日 · 2476 次阅读
class ApplicationController < ActionController::Base
  protect_from_forgery

  helper_method :bbb

  def bbb
    @bbb
  end

  def bbb=(b)
    @bbb = b
  end

end

class SubController < ApplicationController
  def show
    bbb = 11111
  end
end

访问 SubController 中的 show 方法,在模版 application.html.erb 中使用 调用 bbb 返回为 nil

self 不同。

bbb = 11111 这行代码是把11111赋给bbb这个临时变量 应该改成 self.bbb = 11111,这行代码调用ApplicationControllerbbb=方法,把11111赋给实例变量@bbb

#2 楼 @icesky 谢谢,疏忽了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号