您可以有一个表单来使用不显眼的 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 %>")
})
这是一个非常简单的例子......我不处理重复......如果你搜索相同的东西两次......