【发布时间】:2011-12-23 19:13:40
【问题描述】:
我不理解 Sinatra 中的助手一定有一些东西,但想知道为什么这不起作用:
helpers do
def session_access_token
p "GETTING: #{@app_id}_#{@page_id}"
session["access_token_#{@app_id}_#{@page_id}"]
end
def session_access_token=(v)
p "Setting: #{@app_id}_#{@page_id} access token to: #{v}"
session["access_token_#{@app_id}_#{@page_id}"] = v
end
end
然后,在这样的动作中:
get '/' do
session_access_token = 'foo'
p session_access_token
end
我没有看到被调用(似乎它正在创建一个新的局部变量)。也就是说,当我在其他操作中调用 'session_access_token' 时,我确实看到调用了 getter。
任何建议将不胜感激。
【问题讨论】:
-
如果我将其更改为名为“set_session_access_token”的方法并调用它,而不是“session_access_token”,则可以。也许助手不允许您定义/使用这样的方法?