Я видел много сообщений о том, как сопоставить 2 поля формы с одним полем модели, но как насчет отображения поля 1 формы, чтобы предоставить ответы для двух (или более) модельные поля? У меня есть форма для пользователей, которая дает поле, last_name, для пользователя. Но я хочу, чтобы пароль по умолчанию для этого пользователя также был last_name (и у меня есть настройка password_confirmation, так что также должно быть last_name). Как мне это сделать?Rails отображает одно поле в форме для двух полей в модели
Форма:
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@user) do |f| %>
<%= f.label :first_name %>
<%= f.text_field :first_name, class: 'form-control' %>
<%= f.label :last_name %>
<%= f.text_field :last_name, :password, :password_confirmation,
class: 'form-control' %>
<%= f.label :email %>
<%= f.email_field :email, class: 'form-control' %>
<%= f.hidden_field :access_level, :value => "Chair" %>
<%= f.label :Phone %>
<%= f.text_field :phone_number, :id => "phone", class: 'form-control' %>
<p> </p>
<div class="col-md-12">
<%= f.submit "Add Chair", class: "btn btn-primary" %>
</div>
<% end %>
</div>
</div>
user_controller.rb
def create
@user = User.new(user_params)
if @user.save
log_in @user
current_user
flash[:success] = "Welcome to the Penn Model Congress!"
redirect_to after_sign_in_path
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :email, :password,
:password_confirmation, :access_level,
:phone_number)
end
end