我有一個ChatController
和@user
變量。在主頁上,我顯示@user.name
。我也銷燬並創建了與Ajax一起工作的方法,因此當我從我的聊天中刪除郵件時,@user
變爲零。爲了防止在無對象上調用name
的問題,我可以將@user=User.find_by_id(:user_id)
添加到每個方法。但如果我有很多方法,這會變得乏味。我可以聲明@user=User.find_by_id(:user_id)
一次並幹起我的代碼嗎?導軌中的全局控制器變量
3
A
回答
7
是的,這是在before_filter
(Documentation)中完成的。
喜歡的東西:
class ChatController < ActionController::Base
before_filter :find_user
private
def find_user
@user ||= User.find_by_id(params[:user_id])
end
end
您也可以考慮使用Inherited Resources其自動執行此爲您服務。
相關問題
- 1. laravel控制器中的全局變量
- 2. 每個控制器的導軌佈局
- 3. 如何在extjs4.1中的控制器中聲明全局變量?
- 4. 基於全局變量的變體視圖控制器
- 5. 笨:在控制器中的全局變量
- 6. 如何訪問zend框架控制器中的全局變量
- 7. laravel 5.2控制器中的全局變量
- 8. 設置Kohana中所有控制器的全局變量2.3.4
- 9. 核心控制器中的Codeigniter全局變量
- 10. 如何設置在控制器中的全局變量
- 11. CodeIgniter無法訪問控制器中的全局變量
- 12. 應用程序控制器中的全局變量?
- 13. 從表單行爲到控制器中的全局變量
- 14. PhalconPHP訪問控制器中的全局變量
- 15. 軌控制器之間的變量
- 16. 通過變量全局訪問控制
- 17. 控制器方法 - 導軌信息量
- 18. Rails全局變量在控制器動作間變爲零
- 19. 在控制器中使用全局模板變量angularjs
- 20. 如何在控制器中全局聲明這些變量?
- 21. 軌道控制器實例變量
- 22. requirejs導出全局變量
- 23. AngularJs:如何訪問控制器之外的全局變量?
- 24. 如何定義用於REST控制器的Wordpress全局變量?
- 25. Spring 3 MVC訪問控制器的全局變量
- 26. 如何定義Symfony2控制器的全局變量?
- 27. 控制器MVC內部的全局變量
- 28. 來自查詢字符串的MVC控制器全局變量
- 29. 「導入全局變量」中的WebPack
- 30. 從控制器傳遞實例變量以查看導軌
您的實例變量將會持續一個請求,您可以使用before過濾器來保存重複。 – 2012-01-02 18:24:44
@Berlin謝謝你的回覆..我只問你有沒有。 – 2015-05-08 08:29:52