2017-03-10 9 views
0

からビューに結合しません:unit_id selectタグ値Iは、2個の選択タグを持つコントローラ

私は以下のデータを読み込んで取得します。常に私のコントローラメソッドは次の通りであるヌル

を受けfloor_id:我々は適切なのparamを渡した場合、それが動作しなければならないので、

@floor_id = params[:floor_id] 
@project = Project.find(params[:project_id]) 
@proposed_customer = ProposedCustomer.new 
@floor = ProjectFloorUnit.select_units(@project.id, @floor_id) 

選択ユニット方式は、静的な値のための作業罰金です。

+0

「f」とは何ですか?モデルオブジェクトから 'floor_id'を使用しない場合は、' f.select'の代わりに 'select_tag'を使うのが良い –

+0

最初のselectタグでオプションを選択すると、自動的に要求はサーバに送られませんあなたが明示的にこれを指定するまでではありません。 –

+0

これは、API呼び出しをサーバーにプッシュする必要があることを意味しますか? – nifCody

答えて

2

ページが完全に読み込まれると、ページがサーバーから切断されます。したがって、別のリクエストを開始する必要があります。リクエストのレスポンスは、2番目のドロップダウンで値を変更します。

あなたは、新しい要求を送信するためにjQueryを使用することができます。

$("#floorIDSelectTag").change(function() { 
    var floorID = $(this).val(); 

    $.ajax({ 
    type: '', 
    url: '', 
    // other things 
    success: function(data) { 
     // Here, you need to use the data from the request's response, 
     // and update the things in 2nd dropdown 
    } 
    }); 
}); 

あなたはAJAX呼び出しに使用するURLになりますか?そのためには、config/routes.rbファイルに新しいルートを作成し、コントローラ内に新しいアクションを作成し、JSON形式でデータを返す必要があります。次のようなもの:

def get_data_for_floor_id 
    @floor_id = params[:floor_id] 
    # Do the other stuff, and prepare the response you need to send. 
    respond_to do |format| 
    format.json { } 
    end 
end 
関連する問題