我在我的Rails应用中使用ckeditor。它工作得很好,但我没有设法让照片上传/浏览/发送到服务器工作!
我正在使用cancan并且正在使用CanCan::AuthorizationNotPerformed at /pictures
,
甚至在评论出config / initializers / ckeditor.rb中的config.authorize_with :cancan
之后
所以我考虑取消注释config.authorize_with :cancan
然后使用skip_authorization_check
,但我不知道在哪里使用它!我是铁杆新手。
我几乎尽力而为!
请提供任何帮助/潜在客户/提示?
答案 0 :(得分:0)
查看gem的ckeditor/pictures_controller.rb
可以了解如何解决问题。 (使用应用根目录中的bundle open ckeditor
,然后导航到app/controller/ckeditor/
)
因此,请在Rails应用中使用以下内容创建ckeditor/pictures_controller.rb
:
class Ckeditor::PicturesController < Ckeditor::ApplicationController
load_and_authorize_resource
def create
@picture = Ckeditor::Picture.new
respond_with_asset(@picture)
end
def destroy
@picture.destroy
respond_with(@picture, :location => pictures_path)
end
protected
def authorize_resource
model = (@picture || Ckeditor::Picture)
@authorization_adapter.try(:authorize, params[:action], model)
end
end
此解决方案的关键是load_and_authorize_resource
以及authorize_resource
和create
方法,您可以上传图片。
当您要删除上传的图像时,会调用destroy
方法。