Rails 如何在 AR 的 before_create 之类的回调函数中加参数?

realwol · 2014年07月23日 · 最后由 realwol 回复于 2014年07月24日 · 2397 次阅读

比如:

before_create :call_back_method( params)

def call_back_method( params)
end

...那么谁给它传这些参数呢。。。

#1 楼 @Kabie 哈哈哈哈哈

在你的 call_back_method 开头,引用实例变量 self.xxx 来实现参数吧。

#2 楼 @alsotang 为啥要实现参数呢?selfmethod中可以直接调用啊,需要使用额外变量的话可以 attr_accessor

#3 楼 @dddd1919 #2 楼 @alsotang 比如我想在回调函数中新建一个以当前用户为 user_id 的关联记录,这个应该怎么处理。

想要在当前 model 中拿到 current_user,这个也许可以帮你 http://rails-bestpractices.com/posts/47-fetch-current-user-in-models

#4 楼 @realwol 写在 controller。

#5 楼 @xifengzhu 为什么把 controller 层面的东西带到 model?

#7 楼 @gihnius 纯粹为了解决他在 4 楼提出的这个需求,至今我还没看人这么干过。

#6 楼 @Rei #7 楼 @gihnius #8 楼 @xifengzhu 谢谢各位了,我只是做的时候突然想到,学术性的发问,我也没有这么干。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号