これは非常に単純なものでなければならないと思っています。無駄な検索をした後は、単純すぎるようです。ドロップダウンフィールドを使用したルックアップ形式
私は2つのモデルを持っています:クライアントと:仕事。クライアントには多くのジョブがあり、ジョブはクライアントに属します。私のroutes.rbをで
次のように私は、ネストされたリソースを持っている:
resources :client do
resources :job
end
次のパスを手動で入力が問題を解決していない:私は持っていると思いますどのような
/client/:client_id/job
は単純なものですすべてのクライアントをリストし、送信時に選択したclient_idを使用して上記のパスを指す、ジョブ索引ページのドロップダウン選択フォーム。
I/index.erbビュー/ジョブ内の次の形式を持って提出上に解決
<%= form_tag(client_index_path, :action => 'index', :method => 'get') do %>
<%= collection_select ("job", "client_id", Client.all, "id", "name", {:include_blank => 'Filter by client'}) %>
<%= submit_tag 'Go' %>
<% end %>
:
<select id="job_client_id" name="job[client_id]">
<option value="">Filter by client</option>
<option value="1">client1</option>
<option value="2">client1</option>
<option value="3">client2</option>
</select>
:
/client?utf8=✓&job%5Bclient_id%5D=2&commit=Go
これは、レールによって生成されたHTMLです
ご協力いただきありがとうございます。ありがとうございます。
ありがとうスパイク!私はほとんどjavascriptのソリューションと思う。フォームにonsubmitやアクションを追加する必要がありますか? – user1137277
yea、申し訳ありません、私はサンプルコードのためにjqueryを使用していました。純粋なJSを使用している場合は、フォームのonsubmitハンドラを設定する必要があります(jQueryがロードされている場合は$( "#form")submit(ハンドラ)が行います)。 – spike
大変感謝しています - jqueryがロードされています。それはまだ選択された価値を取り上げているようではありません。私はデバッグしようとしましたが、それはドロップダウンの最初の選択されたテキスト値を得ることができるように思えますが(.textと関数の後半を使用して)、私は.valueで置き換えると、選択された値を返しません。私が間違っていることを確信していない。 – user1137277