rails升级到2.3.8后遇到的兼容性问题及解决方法_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > rails升级到2.3.8后遇到的兼容性问题及解决方法

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

 2010/11/17 22:56:57  Viila  http://viila.javaeye.com  我要评论(0)
  • 摘要:先祝贺下。我们的viila3.0要开始动土了。但是给我们当头一棒的是我们的rails升级到2.3.8后就遇到了兼容性问题。DEPRECATIONWARNING:ActionView::SafeBufferisdeprecated!UseActiveSupport::SafeBufferinstead.(calledfromlocal_constantsat/opt/local/lib/ruby/gems/1.8/gems/activesupport-2.3
  • 标签:rails升级兼容性问题 解决方法
先祝贺下。我们的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' >

问题解决
发表评论
用户名: 匿名