私のプロジェクトでは, 私は一対多の関係を持っています (クライアントは多くの連絡先を持っています). 今, 私はクライアントをドロップダウンメニューにリストしています. 私が欲しいのは, 選択したクライアントの連絡先をチェックとして動的にレンダリングすることです. -ボックス。
これが私の _form.html.haml の (一部) で、Ajax リクエストを送信する jQuery の部分です。
%h4 This meeting is made for :
= f.input :client_id, collection:(Client.all)
%br
%hr
%h4 Assign Contacts:
//HERE WHERE I REALLY WANT THE CHECKBOXES TO BE REDNERED DYNAMICALLY.
= check_box_tag "contact_ids[]", c.id, @meeting.contacts.include?(c)
= c.first_name
%br
:javascript
$(document).ready(function (){
$('#meeting_client_id').change(function(){
var state = $('#meeting_client_id :selected').val();
if(state !== "")
{
$.getJSON('/clients/client_contacts/' + state, function(data){
console.log(data);
})
}
return false;
})
});
ここに、リクエストを処理する Clients_controller アクションがあります。
def client_contacts
client = (params[:id])
cou = Contact.where(client_id: client)
@msg = { "success" => "true", "message" => "hello", "count" => cou}
respond_to do |format|
format.html
format.json { render json: @msg }
end
end
コンソールで、リクエストがカウントとオブジェクトを返していることがわかります。
したがって、私は JS/jQuery に本当に慣れておらず、Rails にもかなり慣れていないため、ここからどのように取得すればよいか本当にわかりません。
ヒント/記事/リンク/ヘルプまたはアドバイスは、本当に感謝しています.