当redmine搭建好可以访问时,但是点注册和登录后点我的账号出现500错误:
----------------------------------
Internal error
An error occurred on the page you were trying to access.
If you continue to experience problems please contact your redMine administrator for assistance.
----------------------------------
解决方法如下,在redmine目录进行:
☆ cd/usr/local/redmine
☆ 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
☆ vi lib/redmine/i18n.rb
找到以下内容,并全体删除或注释掉也是可以的
# Returns an array of languages names andcode sorted by names, example:
# [["Deutsch", "de"],["English", "en"] ...]
#
# The result is cached to prevent fromloading 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
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
再重启apache或redmine服务碰运气,问题就全体解决了