1

レンタカーのシステムがあります。ユーザーは利用可能な車の表を表示し、「予約」リンクをクリックできます。ページに誘導しますbookings/new。私が欲しいのは、現在のユーザーのユーザー ID と、利用可能な車のテーブルから選択された車の車の ID が、新しい予約フォームに自動的に入力されることです。

現在、利用可能な車のテーブルは次のようにユーザーに表示されます。

#cars#index

<%if logged_in_as_staff?%>
<h2>Available Cars</h2>

<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>Car name</th>
<th>Manufacturer</th>
<th>Registration</th>
<th>Colour</th>
<th></th>

</tr>

<% @cars_available.each do |car| %>
 <tr>
   <td><%= car.car_name %></td>
   <td><%= car.manufacturer %></td>
   <td><%= car.registration %></td>
   <td><%= car.colour %></td>
   <td><%= link_to 'Book', new_booking_path %></td>


 </tr>
 <% end %>
</table>

<br />
<%= link_to 'Menu', main_menu_staff_path %>

を介してデータを転送するlink_to方法はありますか、または予約または車のコントローラーでメソッドを定義する必要がありますか?

私の予約フォームは次のようになります。

<%if logged_in_as_staff? %>
<%= form_for(@booking) do |f| %>
 <% if @booking.errors.any? %>
   <div id="error_explanation">

    <ul>
      <% @booking.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
    </ul>
  </div>
<% end %>

<div class="field">
  <%= f.label :booking_no %><br />
  <%= f.text_field :booking_no%>
</div>
<div class="field">
  <%= f.label :car_id %><br />
  <%= f.number_field :car_id %>
</div>


  <div class="field">
    <%= f.label :user_id %><br />
    <%= f.number_field :user_id %>
  </div>

<div class="field">
  <%= f.label :date %><br />
  <%= f.date_select :date %>
</div>
<div class="actions">
  <%= f.submit %>
</div>
<% end %>
<% end %>
4

1 に答える 1

1

リンクは次のようになります。

<%= link_to 'Book', new_booking_path(car_id: car.id) %>

そしてあなたの形で

交換

<div class="field">
  <%= f.label :car_id %><br />
  <%= f.number_field :car_id %>
</div>

<%= f.hidden_field, :car_id, value: params[:car_id] %>
于 2012-12-09T16:32:45.203 に答える