根据CKEditor gem 的自述文件,我应该能够为图像和附件设置替代范围。我试图这样做,它只是将其转换为 ckeditor_assets 表中的一个字段。
我可以创建迁移以添加必填字段,但是如何配置 ckeditor(可能是通过自动生成的模型)以便在创建新记录时使用正确的数据填充该字段?
根据CKEditor gem 的自述文件,我应该能够为图像和附件设置替代范围。我试图这样做,它只是将其转换为 ckeditor_assets 表中的一个字段。
我可以创建迁移以添加必填字段,但是如何配置 ckeditor(可能是通过自动生成的模型)以便在创建新记录时使用正确的数据填充该字段?
解决了。
我使用 before_save 过滤器来设置我想要的字段。然后在应用程序控制器中更改方法以将该字段用作范围。
# models/ckeditor/asset.rb
before_save :set_company_id
def set_company_id
self.company_id = assetable.try(:company_id)
end
# controllers/application_controller.rb
protected
def ckeditor_pictures_scope(options = { :company_id => "#{company_id}" })
ckeditor_filebrowser_scope(options)
end
def ckeditor_attachment_files_scope(options = { :company_id => "#{company_id}" })
ckeditor_filebrowser_scope(options)
end
我认为最简单的解决方案:
#controllers/application_controller.rb
protected
def ckeditor_pictures_scope(options = { :assetable_id => "#{current_page.id}" ,:assetable_type => "Page" })
ckeditor_filebrowser_scope(options)
end
def ckeditor_attachment_files_scope(options = { :assetable_id => "#{current_page.id}" ,:assetable_type => "Page" })
ckeditor_filebrowser_scope(options)
end
def ckeditor_before_create_asset(asset)
asset.assetable = current_page if current_page
return true
end