1

こんにちは、みんな。

Rails 3アプリにフォームがあり、フィールドの1つはこのような「コレクション選択」です

<div class="field">
<%= f.label :provider_id, "Provider" %>
<%= collection_select( :purchase_document, :provider_id, Provider.all, :id, :name) %>
</div>

アイデアは、「コレクション選択」から選択された値を使用して「link_to」を追加できるようにすることです。

<div class="field">
    <%= f.label :provider_id, "Provider" %>
    <%= collection_select( :purchase_document, :provider_id, Provider.all, :id, :name) %> <%= link_to "Show", provider_path(***selected option from collection select***)%>

しかし、選択した値を取得する方法がわかりません。それを行うレールの方法はありますか?

あなたが私を助けてくれることを願っています、ありがとう

4

2 に答える 2

3

これがあなたのやりたいことかどうかはわかりませんが、ユーザーがドロップダウンメニューから別の項目を選択したときにリンクを動的に変更したい場合は、Javascript(またはCoffeescript)などのクライアント側のスクリプトでこれを実装する必要があります)。Ruby on Railsはサーバー側のスクリプトのみを実行できます。ブラウザーに関連する動的な動作は、クライアント側のスクリプトを使用して実行する必要があります。

于 2011-10-19T21:06:01.027 に答える
0

Javascript なしで Rails で行うことは完全に可能です。すべてのパラメーターをパラメーター (つまり URL) に保持し、"get" メソッドを使用してフォームを送信します (通常の投稿ではありません)。これにより、このすべてのパラメーターを URL に含めることができます。

次の例は、テキスト フィールドに名前を書き込み、その名前がパラメータとして URL に渡されるページを取得するために機能するはずです。(例http://myapp.com:3000?user_name=andres&phone_number=123456)

ファイルを閲覧する:

= form_tag(reloadindex_aplication_path, method: :get) do
  Name:
  = text_field_tag 'user_name', params[:user_name]
  Phone:
  = text_field_tag 'phone_number', params[:phone_number]
  = submit_tag "Search..."

コントローラ ファイル:

def reloadindex
  redirect_to aplication_path({:user_name => params[:user_name], :phone_number =>  params[:phone_number]})
end
于 2012-10-19T18:48:08.103 に答える