安装redmine 2.5.1,因为之前搭过,所以搭建过程还算顺利,但是搭完之后发现了问题,后台登陆之后,点击“我的帐户”,及“管理”-》“设置”据报错。
页面提示Internal error,页面的title是redmine 500 error。
ruby 的版本是 1.9.3
后来查找到另外一种解决方案,终于解决了我的问题,如下,供大家参考。
#cd /var/www/redmine
#vi app/helpers/application_helper.rb
#vi app/helpers/application_helper.rb
找到以下内容,进行相应的删除或添加。
def lang_options_for_select(blank=true)
(blank ? [["(auto)", ""]] : []) + languages_options //删除此行
(blank ? [["(auto)", ""]] : []) + //添加此行
valid_languages.collect{|lang| [ ll(lang.to_s, :general_lang_name), lang.to_s]}.sort{|x,y| x.last <=> y.last } //添加此行
end
(blank ? [["(auto)", ""]] : []) + languages_options //删除此行
(blank ? [["(auto)", ""]] : []) + //添加此行
valid_languages.collect{|lang| [ ll(lang.to_s, :general_lang_name), lang.to_s]}.sort{|x,y| x.last <=> y.last } //添加此行
end
#vi lib/redmine/i18n.rb
找到以下内容,并全部删除。
# Returns an array of languages names and code sorted by names, example:
# [["Deutsch", "de"], ["English", "en"] ...]
#
# The result is cached to prevent from loading all translations files.
def languages_options
ActionController::Base.cache_store.fetch "i18n/languages_options" do
valid_languages.map {|lang| [ll(lang.to_s, :general_lang_name), lang.to_s]}.sort {|x,y| x.first <=> y.first }
end
end
# [["Deutsch", "de"], ["English", "en"] ...]
#
# The result is cached to prevent from loading all translations files.
def languages_options
ActionController::Base.cache_store.fetch "i18n/languages_options" do
valid_languages.map {|lang| [ll(lang.to_s, :general_lang_name), lang.to_s]}.sort {|x,y| x.first <=> y.first }
end
end
# vi test/unit/lib/redmine/i18n_test.rb
找到以下内容,并全部删除。
def test_languages_options
options = languages_options
options = languages_options
assert options.is_a?(Array)
assert_equal valid_languages.size, options.size
assert_nil options.detect {|option| !option.is_a?(Array)}
assert_nil options.detect {|option| option.size != 2}
assert_nil options.detect {|option| !option.first.is_a?(String) || !option.last.is_a?(String)}
assert_include ["English", "en"], options
end
assert_equal valid_languages.size, options.size
assert_nil options.detect {|option| !option.is_a?(Array)}
assert_nil options.detect {|option| option.size != 2}
assert_nil options.detect {|option| !option.first.is_a?(String) || !option.last.is_a?(String)}
assert_include ["English", "en"], options
end
没有评论:
发表评论