Ruby(和Rails框架)是自1987年以CS学位毕业后学到的第一门新编程语言;所以,请在这个问题上接受一个虚拟的新手。为什么在Session_Controller中使用局部变量而不是实例变量
我一直在努力通过Michael Hartl的真正优秀的教程,通过示例学习Rails。在第一章的第8章中我相对毫发无损地完成了自己的工作之后,我在第9章中遇到了一些困难。我理解实例变量和局部变量(在Ruby和更具体的Rails中)之间的基本区别。但是,我不明白为什么Michael在会话控制器中使用局部变量“user”而不是实例变量“@user”。例如,参见http://railstutorial.org/chapters/sign-in-sign-out#top的清单9.9中的创建方法。
Michael依靠Sessions_helper模块进行以下分配:“@current_user = user”,但如果他首先使用了一个实例变量,他是否需要完成分配(假设实例变量在控制器,视图和帮助器中可用)?难道他与局部变量去使辅助模块中,他可以重新定义“CURRENT_USER”的方法是,
高清CURRENT_USER
@current_user ||= user_from_remember_token
末
这可能清楚你们是我在这里挣扎了一下。无论如何,先感谢任何能够引导我的人。
查克
非常感谢您的洞察力。我将不得不让这一切沉浸在夜晚。 – 2010-11-12 06:54:15
我编辑它,试图使它更清晰。 – johnmcaliley 2010-11-12 15:05:26
再次感谢。随着你的帮助,它会聚到一起。 – 2010-11-14 03:20:22