在RefineryCMS-Blog中将图像的相对路径更改为完整URL

时间:2013-07-08 17:02:22

标签: ruby-on-rails relative-path refinerycms

我正在开发一个使用RefineryCMS-blog的Ruby on Rails项目。我正在尝试通过Feed刻录机创建发送RSS源,以便人们可以订阅等等,但我发现图像无效。

我很快发现这是因为图像使用相对路径而不是完整网址。我回到我的项目尝试更改它,但我找不到要更改/覆盖的内容以便能够修复它。问题包含在邮政中。但炼油厂会处理其中的所有内容,设置Post.body等。

我可以覆盖一些东西来修复Post.body的设置方式,以便我可以将image_path更改为image_url吗?

1 个答案:

答案 0 :(得分:0)

我最终必须这样做的方式与此gist类似。我基本上使用相同的代码(下面),但把它放在其他地方的不同功能。

需要替换的原因是因为wysiwyg编辑器对其进行了硬编码。打击它的方法是在途中或途中改变它。如果你只使用它一两次,那么在出路时使用这个功能是最简单的(但可能不太正确)。

请确保在配置文件中设置asset_host值以确保其有效。

def use_full_paths(existing_content)
  existing_content.gsub!(%r{src=\"(/system)}) do |m|
    m.to_s.gsub(
      %q{src="},
      %Q{src="#{Rails.application.config.action_controller.asset_host}#{m.gsub('src="/system', '')}}
    )
  end if existing_content.present?

  existing_content
end