2016-08-11 1 views
0

У меня есть код, который проходит через каждого участника и пытается создать окно ввода для владельца задания, чтобы обновить статус конкретной ставки каждым конкретным участником.Ruby on Rails одна форма для обновления нескольких записей с использованием цикла

<div id="titlebar" class="single submit-page"> 
 
    <div class="container"> 
 

 
    <div class="col-lg-10"> 
 
     <h2><i class="fa fa-bell"></i> Bidders</h2> 
 
    </div> 
 

 
    <!-- <div class="col-lg-2"> 
 
     <br> 
 
     <button type="button" class="btn btn-primary btn-lg"> 
 
      <i class="fa fa-list-alt"></i> Find Assignments 
 
     </button> 
 
    </div> 
 
    --> 
 
    </div> 
 
</div> 
 

 
<div class="container"> 
 
    
 
    <!-- Table --> 
 
    <div class="col-lg-12"> 
 

 
    <p class="margin-bottom-25"> Bids can be viewed or removed below.</p> 
 

 
    <table class="manage-table resumes responsive-table"> 
 

 
     <tr> 
 

 
     <th><i class="fa fa-genderless"></i> Gender</th> 
 
     <th><i class="fa fa-clock-o"></i> Experience</th> 
 
     <th><i class="fa fa-graduation-cap"></i> Education Level</th> 
 
     <th><i class="fa fa-money"></i> Expected Salary</th> 
 
     <th><i class="fa fa-file-text"></i> Status</th> 
 
     <th></th> 
 
     </tr> 
 

 
     <!-- Item #1 --> 
 
     
 
     <tbody> 
 
     <% @bidders.each_with_index do |bidder, i| %> 
 
      <tr> 
 
      <% if bidder.gender == 1 %> 
 
      <td>Male</td> 
 
      <% else %> 
 
      <td>Female</td> 
 
      <% end %> 
 

 
      <td><%= bidder.experience %></td> 
 
      <td><%= bidder.education.education %></td> 
 
      <td><%= bidder.expected_salary %></td> 
 
      <td><%= bidder.bid.status %></td> 
 
      <%= form_for(@bids[i]) do |f| %> 
 
      <td><%= f.label :status %> and <%= f.text_field :status %></td> 
 
      <% end %> 
 
      <td class="action"> 
 
      <a href="#"><i class="fa fa-eye-slash"></i> Hide</a> 
 
      <a href="#" class="delete"><i class="fa fa-remove"></i> Delete</a> 
 
      </td> 
 
     </tr> 
 

 
     <!-- Item #1 --> 
 
     <% end %> 
 
     </tbody> 
 
     
 
    </table> 
 

 
    </div> 
 

 
</div>

application_controller.rb:

def bidders 
    bidders_ids = Bid.where(bidders_params).pluck(:user_id) 
    @bidders = User.where(id: bidders_ids) 
    @bids = Bid.where(bidders_params) 
end 

bids_controller.rb:

def bid_params 
    params.require(:bid).permit(:status, :assignment_id, :user_id) 
    #params.permit(:status, :assignment_id, :user_id) 
    end 

Проблема заключается в том, что цикл создает несколько форм.

  1. Я хочу только одну формы, но множественный Dropdown Выберите вариант 1..x в зависимости от общего количества участников по данному конкретному заданию для ранжирования целей.

  2. Я хочу, чтобы после того, как я нажму кнопку отправки (в которую я не включаюсь), все поля состояния: обновлены в базе данных в соответствующих записях.

+0

ли вам нужно что-то вроде X-редактируемые [демо-Link] (https: // vitalets. github.io/x-editable/demo-bs3.html) –

+0

https://github.com/werein/x-editable-rails –

ответ

0

Что-то вроде этого?

х-редактируемые будет создать форму с дистанционным верно для каждого атрибута вы хотите изменить

enter image description here

+0

Да что-то в этом роде. Но мне нужно, чтобы он был связан с базой данных. Другими словами, эта форма должна быть представлена ​​и обновлена ​​до таблицы. Как я могу это сделать? – Benjamin

+0

для получения дополнительной информации http://railscasts.com/episodes/302-in-place-editing –

+0

Спасибо! Похоже на то, что я ищу. Я попробую! – Benjamin

Смежные вопросы