【发布时间】:2013-08-14 20:47:39
【问题描述】:
Ruby(和 Rails 框架)是我自 1987 年获得 CS 学位以来学习的第一门新编程语言;所以,请耐心等待这个问题。
我一直在学习 Michael Hartl 真正出色的教程,即通过示例学习 Rails。在相对安然无恙地读完前 8 章之后,我在第 9 章遇到了心理障碍。我理解了实例变量和局部变量(在 Ruby 中,更具体地说是在 Rails 中)之间的基本区别。但是,我不明白为什么 Michael 在他的会话控制器中使用局部变量“user”而不是实例变量“@user”。例如,参见 http://railstutorial.org/chapters/sign-in-sign-out#top 的清单 9.9 中的 Create 方法。
Michael 依靠 Sessions_helper 模块进行以下赋值:“@current_user = user”,但如果他首先使用了实例变量,他是否需要进行赋值(假设实例变量在控制器、视图和助手中可用)?他是否使用了局部变量,以便在辅助模块中重新定义“current_user”方法,
定义当前用户
@current_user ||= user_from_remember_token
结束
你们可能很清楚我在这里有点挣扎。无论如何,提前感谢任何可以指导我的人。
-查克
【问题讨论】:
标签: ruby-on-rails-3