跳过CKeditor的身份验证?

时间:2013-04-25 15:00:21

标签: ruby-on-rails ckeditor cancan

我在我的Rails应用中使用ckeditor。它工作得很好,但我没有设法让照片上传/浏览/发送到服务器工作!

我正在使用cancan并且正在使用CanCan::AuthorizationNotPerformed at /pictures, 甚至在评论出config / initializers / ckeditor.rb中的config.authorize_with :cancan之后

所以我考虑取消注释config.authorize_with :cancan然后使用skip_authorization_check,但我不知道在哪里使用它!我是铁杆新手。

我几乎尽力而为!

请提供任何帮助/潜在客户/提示?

1 个答案:

答案 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_resourcecreate方法,您可以上传图片。

当您要删除上传的图像时,会调用destroy方法。