在Rails 4中我试图这样做:
class ApplicationController < ActionController::Base
# does not work
def x=(value)
session[:x] = value
end
# I have to do this instead
def set_x(value)
session[:x] = value
end
end
当我尝试从子控制器调用x = 1
时,我没有收到错误,但是会话变量没有设置。尽管如此,正常运行set_x 1
仍可正常工作。
答案 0 :(得分:1)
我认为这是范围问题,而不是致电x = 1
,请尝试致电self.x = 1
。