因此,我对我的Mongoid模型进行了自定义操作,该模型用于将XSL文档上传到MongoDB。此操作效果很好,我可以看到XSL文档和模型记录已保存在数据库中,它使我返回到列表中,可以在其中查看样式表的名称,等等。
[当我尝试从操作外部访问此列表(即浏览至/ admin / xsl_sheet)时,我什么也没显示。我不明白为什么会这样。
型号:
require 'mongoid/grid_fs'
class XslSheet
include Mongoid::Document
scope :applicationId, -> {where(assetable_id: User.current_user.current_scope['Application']) unless User.current_user.nil? or User.current_user.current_scope.nil?}
belongs_to :application
validates_uniqueness_of [:data_file_name, :stylesheet_id], :scope => :assetable_id
field :data_file_name, type: String
field :assetable_id, type: Integer
field :stylesheet_id, type: BSON::ObjectId
end
rails_admin.rb:
# XslSheet
c.model XslSheet do
label Proc.new {"Xsl Sheet"}
navigation_label Proc.new {I18n.t('navigation.actions')}
weight 303
navigation_icon 'fa fa-envelope-o'
list do
binding.pry
scopes [:applicationId]
field :data_file_name
field :assetable_id
field :stylesheet_id
end
end
[有趣的是,当我通过浏览列表访问列表时,会触发rails_admin.rb中的binding.pry。当我创建一个新的XslSheet
并进行重定向时,它无法捕获绑定。
我将模型保存到错误的数据库中。
我切换到另一个数据库来保存样式表,忘记了切换回默认值来保存记录。