rails升级到2.3.8后遇到的兼容性问题及解决方法

先祝贺下。我们的viila3.0要开始动土了。

但是给我们当头一棒的是我们的rails升级到2.3.8后就遇到了兼容性问题。
DEPRECATION WARNING: ActionView::SafeBuffer is deprecated! Use ActiveSupport::SafeBuffer instead. (called from local_constants at /opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/core_ext/module/introspection.rb:74)


大概的意识是说,我们采用了新版本,在原有的版本中有的方法在新版本中不在被支持了。要求我们更换新的方法。


解决方法:

找到项目中的fckediter.rb文件

include ActionView
module ActionView::Helpers::AssetTagHelper
  alias_method :rails_javascript_include_tag, :javascript_include_tag

    <= javascript_include_tag :defaults, :fckeditor >
  def javascript_include_tag(*sources)
    main_sources, application_source = [], []
    if sources.include?(:fckeditor)
      sources.delete(:fckeditor)
      sources.push('fckeditor/fckeditor')
    end
    unless sources.empty?
      main_sources = rails_javascript_include_tag(*sources).split("\n")
      application_source = main_sources.pop if main_sources.last.include?('application.js')
    end
    [main_sources.join("\n"), application_source].join("\n")
  end
end

找到以上的代码,全部注释掉

然后去更改你的layout中的引入fckeditor的部分。

把<= javascript_include_tag :fckeditor > 替换成 <= javascript_include_tag 'fckeditor/fckeditor' >

问题解决

你可能感兴趣的:(JavaScript,fckeditor,ext,Ruby,Rails)