해결 방안 설정centos에서 redmine 2.3.0 내 계정과 개인 설정을 누르면 500 오류가 발생하는 해결 방안
4088 단어 redmine
최근에 회사에서 레드마인을 업그레이드하려고 하는데 버전이 2.3.0이라고 요구했다. 이전에 탑승했기 때문에 구축 과정은 순조로운 편이지만 탑승 후에 문제가 발견되었다. 백그라운드 로그인 후'내 계정'과'관리'-'설정'을 클릭하면 오류가 보고되었다.페이지 알림 Internal error, 페이지 제목은 redmine 500 error입니다.log의 오류 정보는 다음과 같습니다.
Processing by MyController#account as HTML
Current user: test (id=3)
Rendered my/account.html.erb within layouts/base (8.6ms)
Completed 500 Internal Server Error in 16ms
ActionView::Template::Error (wrong number of arguments (2 for 1)):
16: <p><%= f.text_field :firstname, :required => true %></p>
17: <p><%= f.text_field :lastname, :required => true %></p>
18: <p><%= f.text_field :mail, :required => true %></p>
19: <p><%= f.select :language, lang_options_for_select %></p>
20: <% if Setting.openid? %>
21: <p><%= f.text_field :identity_url %></p>
22: <% end %>
lib/redmine/i18n.rb:95:in `languages_options'
app/helpers/application_helper.rb:974:in `lang_options_for_select'
app/views/my/account.html.erb:19:in `_app_views_my_account_html_erb___278591561__616683068'
app/helpers/application_helper.rb:989:in `labelled_form_for'
app/views/my/account.html.erb:9:in `_app_views_my_account_html_erb___278591561__616683068'
인터넷에서는 루비를 1.8.7에서 1.9.3으로 업그레이드하면 이 문제가 해결될 것이라고 말한다.그러나 홈페이지 위의 버전을 대조해 보면 레드마인 2.3.0은 루비 1.8.7을 사용할 수 있는 것이다. 게다가 내가 루비 1.9.3을 설치한 후에 환경에 문제가 생겼다. (자체 이 딱딱한 곳에 루비가 두 세트가 설치되었기 때문에 그 중 한 세트는 누가 설치했는지 알 수 없다. 어차피 구판본인데 사용하지 않아서 내가 이번에 설치한 후에 각종 충돌이 호환되지 않기 때문에) 이 해결 방안을 폐기했기 때문에 여러분들이 흥미를 가지고 드셔보셔도 된다.
나중에 다른 해결 방안을 찾았는데 마침내 나의 문제를 해결했습니다. 아래와 같이 여러분에게 참고하도록 하겠습니다.
#cd /var/www/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 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
# 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
다시 운에 맡기면 문제가 모두 해결됩니다, 빙고!!!
문장이 끝나면 다음 프로그래머의 우스갯소리 어록을 공유합니다. 퀴즈 Q: 당신은 내성적인 프로그래머와 외향적인 프로그래머를 어떻게 구분합니까?A:외향적인 프로그래머가 당신의 신발을 보고 당신과 이야기할 때.Q: 왜 프로그래머는 할로윈과 크리스마스를 구분할 수 없습니까?A:이건 Oct 31 = = Dec 25!(8진법의 31== 10진법의 25)
--------------------------------------------------------------------------------------------------------------------------------------------
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redmine (3) - Redmine 일상 사용플러그 인 을 통 해 더 많은 기능 을 추가 하기 때문에 플러그 인 은 Redmine 에서 없어 서 는 안 될 구성 요소 가 되 었 습 니 다. 추천 플러그 인: projectstree_view / / 플러그 인, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.