在我的项目中,我有一个一对多的关系(一个客户有很多联系人),现在,我在一个下拉菜单中列出了客户,我想要的是,让选定客户的联系人动态呈现为检查-盒子。
这是我的 _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 也很陌生,我真的不知道如何从这里获取它。
非常感谢任何提示/文章/链接/帮助或建议。