私のアプリケーションの言語をドロップダウンメニューから送信ボタンに変更しようとしました。コントローラに最後にリソースにパス変数が定義されていません
<%= 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'はページを表示し、送信を処理します。あなたはおそらくroutes.rb
にこの行を変更する必要があなたのhelage
ありがとうBrandan!私は今働いていますが、コントローラの名前なども複数形にしなければなりませんでした。今私はルビの多重化の謎に少し詳しく掘り下げなければならない;-) – microcosme
喜んで助けてください。正しい答えがあればそれを受け入れてください。 – Brandan