0

Rails でパラメーターの受け渡しの問題に遭遇しました。

「アカウント」という名前のオブジェクトと「ロケール」という名前の別のオブジェクトがあります。それらの間には 1 対多の関係があります。1 つのロケールを複数のアカウントにマップできます。

accounts/index.html.erb には、利用可能なすべてのロケールを一覧表示するドロップダウンがあります。そして、私は以下のリンクを持っています。

このリンクをクリックすると、アカウント コントローラーのインデックス メソッドが呼び出され、選択したロケール ID の値が渡されることを期待しています。index メソッドは、そのロケールに属するすべてのアカウントを取得します。

私をブロックしているのは、選択したドロップダウンの値をコントローラーに渡す方法がわからないことです。

パラメータを渡す基本的な方法は次のとおりです。

<%= link_to 'Refresh', {:action => 'index', :fromvar => 'refresh', :selected_locale_id => '1'}.

コントローラーから、次の方法で取得できます。

params[:selected_locale_id]

ただし固定値の場合です。私の場合、動的UIコントロール値をどのように扱うのですか?

link_to は一部の JavaScript の埋め込みをサポートしていますか?

私のレールのバージョンは 3.2.13 です。

誰でもこれについて考えがありますか?

4

1 に答える 1

0

これは、フォームとして行うか、リンクの onclick イベントで JavaScript として行うことができます。フォームをお勧めします。

次の手順で開始できます。

<%= form_for :index do |form| %>
  <%= form.select :locale_id, Locale.all %>
  <%= form.submit %>
<% end %>

postフォームを送信できるようにするには、インデックス アクションへのルートを必ず追加してください。

于 2013-05-23T10:49:07.610 に答える