2012-12-09 60 views
1

我有一個汽車租賃系統。用戶可以查看可用車輛的表格並點擊「書籍」鏈接。它將它們引導到頁面bookings/new。我想要的是當前用戶的用戶標識和從可用汽車表格中選取的汽車的汽車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 %> 

回答

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] %> 
+0

感謝您的回覆。我隱藏的字段出現錯誤。意外的':'價值之後。我也通過car_id之後的鏈接獲取它。是':'正確的語法。即時通訊使用rails 3.2.6 btw – messyeater

+0

我用:value => params [:car_id],它的工作,感謝您的幫助 – messyeater

+0

我很高興它幫助。我使用了新的哈希語法,它需要ruby 1.9>這是問題。 – emrahbasman

相關問題