我有一个活动记录模型 Import
class Import < ActiveRecord::Base
before_create :check_it
def check_it
...
end
end
我有两个控制器User
,Question
class QuestionsController < ApplicationController
def import_question
@import_item = Import.new
...
end
end
class UsersController < ApplicationController
def import_user
@import_item = Import.new
...
end
end
我想跳过模型中的check_it
方法。Import
UsersController
请帮忙..
问题是,您真的要这样做吗?
我不知道该check_it
方法可以,但是我认为更好的方法是在check_it
需要时进行简单调用,例如:
@import_item = Import.new
@import_item.check_it
这使您的代码更显式,并且不那么“神奇”。
如果您确实要执行此操作,则可以在模型中执行以下操作:
attr_accessor :skip_check_it
before_create :check_it, unless: -> { @skip_check_it }
然后像这样创建它:
@import_item = Import.new
@import_item.skip_check_it = true
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句