Ber*_*lin 3 ruby ruby-on-rails
我有一个ChatController和@user它的变量.在我显示的主页面上@user.name.我也有破坏和创建使用ajax的方法,所以当我从聊天中删除一条消息时,@user变为零.为了防止问题调用namenil对象,我可以添加@user=User.find_by_id(:user_id)到每个方法.但如果我有很多方法,这就变得乏味了.我可以申报@user=User.find_by_id(:user_id)一次并干掉我的代码吗?
是的,这是在before_filter(文档)中完成的.
就像是:
class ChatController < ActionController::Base
before_filter :find_user
private
def find_user
@user ||= User.find_by_id(params[:user_id])
end
end
Run Code Online (Sandbox Code Playgroud)
您还可以考虑使用为您自动执行此操作的继承资源.
| 归档时间: |
|
| 查看次数: |
1922 次 |
| 最近记录: |