如何根据图片模型在Ruby On Rails中设置CKeditor中图像的大小?

时间:2013-04-08 15:30:47

标签: ruby-on-rails ckeditor paperclip

这可能是一个重复的问题,但我对此表示怀疑。

我遇到以下情况:

我有两个广泛使用的宝石上的红宝石:paperclip和ckeditor(使用回形针)。

我希望根据'post'的类型调整我在Ckeditor屏幕上传的图像大小。现在没有一个按钮可以帮助Ckeditor或其他任何东西,虽然它确实上传了我在picture.rb模型中设置的不同类型的尺寸:

class Ckeditor::Picture < Ckeditor::Asset
  has_attached_file :data,
                :url  => "/ckeditor_assets/pictures/:id/:style_:basename.:extension",
                :path => ":rails_root/public/ckeditor_assets/pictures/:id/:style_:basename.:extension",
                :styles => { :content => '600>',:medium => '300x300', :quintet => '150x150', :thumb => '118x100#' }


  validates_attachment_size :data, :less_than => 2.megabytes
  validates_attachment_presence :data


  def url_content
    url(:content)
  end
end

问题是从Ckeditor保存的内容(图像和标签)将显示为

.post_body= raw post.content

其中post.content =

 <p><img alt="" src="/ckeditor_assets/pictures/2/content_cartoon_paul-the-good-fight.gif" /></p>

CKeditor使用的图像是标准图像,而不是具有特定大小或类型的图像。 如何设置该尺寸或类型?

1 个答案:

答案 0 :(得分:0)

在url_content方法中,将content替换为您需要的样式(例如:medium,:quintet,:thumb)。请注意,对于在设置特定样式之前上载的任何图像,将不会显示该尺寸的相应图像。上传的任何图像都会将不同的版本保存到ckeditor_assets路径(例如,原始,中等,拇指),然后您可以更改url参数以指向正确的版本。我花了一段时间才意识到这一点,因为我正在使用已上传的图片进行测试,因此在测试是否有效时,请确保指定所需的所有样式,然后上传新图片。更改url_content的参数应该可以正常工作。