ruby-on-rails – 灯具是否触发模型回调?
说我有一个User模型,在User.rb中使用以下代码:
before_create :create_dependencies after_create :build_inbox 而且我还有一个users.yml文件,其中定义了一大堆用户fixture. 当我运行rake db:fixtures:load时,它似乎不会触发回调. 这是怎么预期的工作?如果是这样,为什么他们这样设计呢? 解决方法
是的,灯具不使用回调.我假设这是为了表现的原因.在不实例化模型的情况下,将数据直接加载到数据库中更快.
从来没听说过.你有几个选择.一个是建立你的灯具,好像回调已经被触发.也就是说,手动创建回调的数据.例如,如果您有一个回调哈希用户的密码,则需要手动哈希密码,然后将该哈希存储在固定装置中. 第二个解决方案(强烈推荐!)是使用工厂.工厂会触发回调,并允许您使用虚拟属性等.这是因为它们每次都实例化模型.一个流行的宝石是Factory Girl.另一个尝试是Machinist.我还创建了一个Railscasts episode的主题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |