2013-12-12 3 views
0

Я пытаюсь создать форму с файлом html.erb, который выглядит примерно так:не удается создать форму с формой хелперов

<form class="edit-booking" method="post" action="https://stackoverflow.com/users/<%= current_user.id %>/accounts/1/bookings/new" data-remote="true"> 
    <header><h1>Edit booking</h1></header> 
    <input class="booking-name" name="booking[name]" placeholder="Name of the user" type="text" /> 
    <fieldset class="booking-list"> 
     <h2>Booking details</h2> 
     <ul> 
      <li> 
       <input name="booking[name]" type="text" value="Unit name" disabled/> 
       <input name="booking[check_in]" type="date" value="" /> 
       <input name="booking[check_out]" type="date" value="" /> 
      </li> 
     </ul> 
    </fieldset>  
    <input name="submit" type="submit" value="Save" /> 
</form> 

У меня есть этот рубин код:

<%= form_for [current_user] do |f| %> 

    <header> 
     <h1>Edit booking</h1> 
    </header> 

    <%= field_set_tag 'Booking details' do %> 
     <%= f.fields_for :bookings do |booking_form| %> 
      <%= booking_form.text_field :name,  placeholder: "Name" %> 
      <%= booking_form.text_field :check_in, placeholder: "Check-in" %> 
      <%= booking_form.text_field :check_out, placeholder: "Check-out" %> 
     <% end %>  
    <% end %> 
    <%= f.submit "Save" %> 
<% end %> 

Но что происходит, оно ничего не отображает в браузере, хотя в инструменте chrome dev он показывает тег формы.

EDIT:

HTML, генерируемый следующим образом:

<form accept-charset="UTF-8" action="https://stackoverflow.com/users/1/accounts/1" class="edit_account" id="edit_account_1" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓"><input name="_method" type="hidden" value="patch"><input name="authenticity_token" type="hidden" value="fzA+hkk3o+itJOI0UDj9F01DuI+A5+zgQ1EVGlwrPww="></div> 

    <header> 
     <h1>Edit booking</h1> 
    </header> 

    <fieldset><legend>Booking details</legend> 



      <input id="account_bookings_name" name="account[bookings][name]" placeholder="Name" type="text"> 
      <input id="account_bookings_check_in" name="account[bookings][check_in]" placeholder="Check-in" type="text"> 
      <input id="account_bookings_check_out" name="account[bookings][check_out]" placeholder="Check-out" type="text"> 

</fieldset> 
    <input name="commit" type="submit" value="Save"> 
</form> 

Моя учетная модель:

class Account < ActiveRecord::Base 

    belongs_to :user 

    has_many :products 
    has_many :bookings 
    accepts_nested_attributes_for :bookings 
    accepts_nested_attributes_for :products 

end 
+0

Имеет ли current_user какие-либо заказы? –

+0

Да, у меня есть модель бронирования, которая принадлежит пользователю – tvieira

+0

Можете ли вы показать выход Chrome? –

ответ

0

В вашей модели оных:

#Account model 

accepts_nested_attributes_for :bookings 

Кроме того, следует ваш current_user будет Счет?

+0

Да, у меня есть то, что – tvieira

+0

По какой-то причине ваши поля_используются для них: 'account [bookings] [check_in]' вместо 'account [bookings_attributes] [check_in]'. Это говорит о том, что что-то не так с объявлением вложенных атрибутов. Является ли текущий пользователь учетной записи? Если бы вы могли показать нам модель аккаунта? – BroiSatse

+0

Я добавил модель учетной записи к сообщению – tvieira

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