Я слежу за Многошаговыми формами Райана Бейтса , но мои параметры имеют префикс "user_". Таким образом, пароль становится user_password и т. Д. При создании пользователя атрибут teamname не проверяется. Я предполагаю, что это из-за префикса user_, и снова я предполагаю, что это из-за deep_merge из-за его префикса по умолчанию или использования «user_params» и пытался добавить «{: knockout_prefix => 'user_'}», но работал.
users / new.html.erb начинается с подпрограммы "<% = form_for @user do | f |%>" и включает в себя "<% = render" # enj@user.current_step automotive_step ",: f => f%> ". Шаги включают в себя такие поля, как «<% = f.text_field: email%>», а не «user_email» или что-либо еще.
users_controller.rb содержит функцию создания:
def create
session[:user_params].deep_merge!(params[:user]) if params[:user]
@user = User.new(session[:user_params])
@user.current_step = session[:user_step]
...@user.save...(rest of the code omitted)
end
models / user.rb содержит:
attr_accessible :email, :password, :password_confirmation
..several validation codes according to steps..
И источник веб-страницы:
<input id="user_password" name="user[password]" size="30" type="password" />
Есть ли предположения, почему этот префикс происходит?