Попытка сделать форму, используя вложенные атрибуты

Я новичок в рельсах, так что я застрял с вложенными атрибутами.

Вот обзор того, что я ищу:

Прокатный автомобиль может создавать автомобили. (Сделано)

Клиенты могут забронировать автомобиль.

Клиенты создаются с бронированием одновременно с арендованным автомобилем.

Я пытаюсь создать форму для бронирования, которая будет содержать информацию как о клиенте, так и о бронировании, так как всю информацию будет заполнять арендованный автомобиль.

Вот почему мне нужно использовать вложенные атрибуты, но до сих пор у меня возникают некоторые трудности. У меня есть четыре модели:

class Car < ActiveRecord::Base
  belongs_to :rentalcar
  has_many :photos
  has_many :reservations
end 

.

class Client < ActiveRecord::Base
 has_many :reservations
end 

.

class Reservation < ActiveRecord::Base
 belongs_to :client
 belongs_to :car
end 

.

class rentalcar < ActiveRecord::Base
 has_many :cars
 has_many :reservations
end 

Форма :

<%= form_for([@car, @car.reservations.new]) do |f| %>
<div class="row">
    <div class="col-md-12 price_tag">
        <span><%= @car.price %>Dhs</span>
        <span class="pull-right">Par jour</span>
    </div>
</div>

<div class="row">
    <div class="col-md-6">
        <label>Nom</label>
        <%= f.text_field :nom, placeholder: 'Nom', class: 'form-control' %>     
    </div>
    <div class="col-md-6">
        <label>Prenom</label>
        <%= f.text_field :prenom, placeholder: 'Prenom', class: 'form-control', disabled: 'true' %>     
    </div>
</div>

<div class="row">
    <div class="col-md-6">
        <label>CIN</label>
        <%= f.text_field :cin, placeholder: 'CIN', class: 'form-control' %>     
    </div>
    <div class="col-md-6">
        <label>Age</label>
        <%= f.text_field :age, placeholder: 'Age', class: 'form-control', disabled: 'true' %>       
    </div>
</div>

<div class="row">
    <div class="col-md-6">
        <label>Ville</label>
        <%= f.text_field :ville, placeholder: 'Ville', class: 'form-control' %>     
    </div>
    <div class="col-md-6">
        <label>Télephone</label>
        <%= f.text_field :telephone, placeholder: 'Telephone', class: 'form-control', disabled: 'true' %>       
    </div>
</div>

<div class="row">
    <div class="col-md-6">
        <label>Email</label>
        <%= f.text_field :email, placeholder: 'Email', class: 'form-control' %>     
    </div>
</div>

<%= f.fields_for :reservations do |reservation_form| %>

<div class="row">
    <div class="col-md-6">
        <label>Check In</label>
        <%= reservation_form.text_field :start_date, readonly: 'true', placeholder: 'Start Date', class: 'form-control' %>      
    </div>
    <div class="col-md-6">
        <label>Check Out</label>
        <%= reservation_form.text_field :end_date, readonly: 'true', placeholder: 'End Date', class: 'form-control', disabled: 'true' %>        
    </div>
</div>

<%= reservation_form.hidden_field :car_id, value: @car.id %>
<%= reservation_form.hidden_field :price, value: @car.prix %>
<%= reservation_form.hidden_field :total, id: 'reservation_total' %>

<% end %>

<h4><span id="message"></span></h4>

<div id="preview" style="display: none">
    <table class="reservation-table" >
        <tbody>
            <tr>
                <td>Day(s)</td>
                <td><span id="reservation_days"></span></td>
            </tr>
            <tr>
                <td>Total</td>
                <td><span id="reservation_sum"></span>Dhs</td>
            </tr>
        </tbody>
    </table>
    <br>
</div>

<br>
<%= f.submit "Book Now", id:"btn_book", class: "btn btn-primary wide", disabled: 'true' %>

Так что идея состоит в том, чтобы получить эту форму после выполнения чего-то вроде: cars / 1 / reservate. И у нас будет что-то вроде этого в контроллере:

def reservate
 @car = Car.find(params[:id])
 @client = Client.new
 @client.reservations.build
end 

но я не знаю, в каком контроллере он должен оставаться

Edit1:

Индексы:

add_index "reservations", ["client_id"], name: "index_reservations_on_client_id", using: :btree 

add_index "reservations", ["car_id"], name: "index_reservations_on_car_id", using: :btree 

add_index "voitures", ["rentelcar_id"], name: "index_voitures_on_rentelcar_id", using: :btree

add_foreign_key "reservations", "clients"
add_foreign_key "reservations", "cars"
add_foreign_key "cars", "rentelcars"

Ответы на вопрос(1)

Ваш ответ на вопрос