Я создаю нового пользователя с основными полями, такими как имя пользователя и пароль.Затем я перенаправляю на другую страницу, где пользователю разрешено заполнить свой профиль.Страница выглядит следующим образом.
Хорошо, сначала я создал пользователя.Затем я перенаправил пользователя, чтобы заполнить его профиль.Страница профиля выглядит следующим образом
<h1>User successfully created</h1>
<h3>Would you like to complete your profile now?</h3>
<%= render @profile %>
<%= render @address %>
<%= button_to 'Save',{
:controller => "users",
:action => "update",
:id => @user.id,
:profile => @profile,
:address => @address
}, :method => :put %>
Приведенный выше код выполняет действие обновления в контроллере.Тем не менее, я получаю ноль для @profile
и @address
объектов.Я полагаю, что button_to
не влияет на профиль и частичные адреса.
Частичный адрес выглядит следующим образом
<%= form_for(@address) do |f| %>
<% if @address.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@address.errors.count, "error") %> prohibited this address from being saved:</h2>
<ul>
<% @address.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<fieldset>
<legend>Addresss</legend>
<div class="field">
<%= f.label :street_address %>
<%= f.text_field :street_address, :size => 40 %>
</div>
<div class="field">
<%= f.label :street_address_2 %>
<%= f.text_field :street_address_2, :size => 40 %>
</div>
<div class="field">
<%= f.label :city %>
<%= f.text_field :city, :size => 40 %>
</div>
<div class="field">
<%= f.label :state %>
<%= f.text_field :state, :size => 40 %>
</div>
<div class="field">
<%= f.label :zip_code %>
<%= f.text_field :zip_code, :size => 40 %>
</div>
<% end %>
Буду признателен, если кто-нибудь сможет мне помочь в этом.