我正在使用 rails_admin,我认为它很棒。不幸的是,我无法覆盖特定模型上的特定操作。我只需要覆盖一个模型上的编辑和更新行为。任何想法?
问问题
2598 次
3 回答
0
我不知道您过去尝试过什么,如果您发布它会很有帮助,但您不能尝试这个
config.model 'Model' do
edit do
....
end
update do
....
end
end
于 2013-12-22T00:36:20.040 回答
0
好吧,考虑到你想要做什么。我相信您也可以使用 ROR 回调来实现它,这会容易得多。
所以在你的模型文件中
after_update :custom_action
#define custom_action in the same model
def custom_action
#your code goes here
end
您可能必须检查此操作是否由管理员执行,仅此而已。
抱歉迟到了4年。但这可能对其他人有所帮助。
于 2017-01-26T11:02:05.807 回答
0
您可以通过点击审核支持来添加其他更新行为。
就我而言,我需要记录特定模型上的某些字段何时更改,以及进行更改的用户。我通过以下方式实现了这一目标:
RailsAdmin.config do |config|
config.audit_with { @auditing_adapter = MyAuditor.new(self) }
end
class MyAuditor
def update_object(object, _abstract_model, user, changes)
if object.is_a?(SomeModel)
changes = changes.slice(:important_field, :other_important_field)
if changes.present?
# ... log change ...
end
end
end
# other auditor methods (unused)
def initialize(_controller) end
def create_object(_object, _abstract_model, _user) end
def delete_object(_object, _abstract_model, _user) end
def latest() end
def listing_for_object(*_args) end
def listing_for_model(*_args) end
end
于 2018-10-03T22:06:44.840 回答