1

私のRoRアプリケーションでは、ユーザーに連絡先を選択して電子メールを送信する機能があります。この機能に追加して、ユーザーが連絡先を検索できるようにします。Ruby on Rails:フォームのcollection_check_boxesを検索する

<%= f.collection_check_boxes :contact_ids, Contact.where(user_id: session[:user_id]), :id, :firstname %> 

は、ユーザが検索できるようにするチェックボックス上の検索バーを追加することで、この上に構築することが可能です:

現在、連絡先は、ユーザーが通じ選択することができますチェックボックスにviews/emails/form.html.erbに表示されます名前によるチェックボックス?

答えて

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 %>") 
}) 

これは非常に単純な試験です私は同じことを2回検索すると繰り返しを処理しません...

関連する問題