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