在我的RoR应用程序中,我有一些功能,允许用户选择要发送电子邮件的联系人。我想添加此功能,以便用户可以搜索联系人。
目前,联系人会显示在UIImageView
复选框中,用户可以通过这些复选框进行选择:
views/emails/form.html.erb
是否可以通过在复选框上方添加搜索栏来构建此基础,该搜索栏允许用户按名字搜索复选框?
答案 0 :(得分:0)
您可以使用表单来处理不引人注目的JavaScript。
像
<div class="form-group">
<!-- Form outside your main form... the REMOTE flag will tell rails
to prevent the default behaviour of a form make a request
for JS response --!>
<%= form_tag contacts_path, remote: true, method: :get do %>
<%= input_tag :search %>
<%= button_tag "Search" %>
<% end %>
<div id="email-form">
<%= form_for @email, email_path do |f| %>
<!-- Many inputs relative with email omited--!>
<div class="contact-list">
</div>
<%= f.submit 'Submit' %>
<% end %>
</div>
让控制器/操作搜索您的联系人并将其返回给js视图...
// ContactController
def index
respond_to do |format|
format.html { @contacts = Contact.all }
format.js { @contacts = Contact.find_by(firstname: params[:search]) }
end
end
并查看操作html的动作/控制器以附加要选择的联系人
// views/contacts/index.js.erb
$(document).ready(function() {
$('#contact-list').append("<%= collection_check_boxes :email, :contact_ids, @collection, :id, :firstname %>")
})
这是一个非常简单的例子......我不会处理重复......如果你两次搜索同样的东西......