내 애플리케이션의 언어를 드롭 다운 메뉴에서 제출 단추로 변경하려고합니다. 컨트롤러에 마지막으로리소스에 대해 경로 변수가 정의되지 않았습니다.
<%= form_tag language_change_path, :method=>:post do %>
<div class="field">
<%= select_tag(params[:l],
options_for_select(
[[t('language.english'),'en'],
[t('language.french'), 'fr'],
[t('language.dutch'), 'nl']], params[:l]),
)
%>
</div>
<div class="actions"> <%= submit_tag "Change language!" %>
<% end %>
:보기 home.html.erb에서
resources :language_change, :only => [:create, :new]
, 나는 이런 식으로 넣어 : 나는대로 route.rb에 정의 된 'language_change'라는 이름의 컨트롤러를 도입 내가 넣어 :
:
class LanguageChangeController < ApplicationController
def create
I18n.locale=params[:l]
end
end
나는 다음과 같은 오류 메시지가 얻을 홈 페이지를로드 할 때
아무도 저에게 무엇이 잘못되었는지 말할 수 있습니까? 내가 이해하지 못하는 것은 내가보기에 'language_change_path'를 앱의 다른 곳에서 정의 된 다른 컨트롤러로 대체 할 때입니다. 'password_reset_path'는 페이지를 표시하고 제출을 처리합니다. 당신의 helage
감사합니다. Brandan! 이제는 작동하지만 컨트롤러 등의 이름을 복수화해야했습니다. 알아두면 좋습니다. 이제 루비에서의 다중화의 신비에 대해 조금 더 파헤쳐 야합니다 .-) – microcosme
도움이 되니 기쁩니다. 정확한 답을 수락했는지 확인하십시오. – Brandan