中,我試圖收集更多的信息在數據庫中未定義的方法更新
這是我的控制器
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def additional_info
@user = User.find params[:id]
end
def update
if @user.update(user_addinfo)
redirect_to user_path(@user), notice: 'User was successfully updated.'
else
render action: 'additional_info'
end
end
def create
@user = User.new(user_params)
if @user.save
#session[:user_id] = @user.id
#UserMailer.welcome_email(@user).deliver
sign_in @user
redirect_to additional_info_path(@user)
flash[:success] = "Welcome to InYourShoes!"
else
render'new'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation)
end
def user_addinfo
params.require(:user).permit(:year)
end
end
更新用戶登錄後在DEF出現錯誤更新函數如果@ user.update(user_addinfo),rails說它未定義。 高清user_addinfo是一種操作方法和DEF ADDITIONAL_INFO是實際的頁面
的頁面視圖:
<div class="row">
<div class="col-xs-12 col-sm-6 col-sm-offset-3">
<%= form_for(@user, :html => {:class => 'form-horizontal'}) do |f| %>
<fieldset>
<p>Do you have experience in Business? If yes, select one of the following:
<div class="input-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Select one <span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#">Entrepreneurship</a></li>
<li><a href="#">Investments</a></li>
<li><a href="#">Management</a></li>
<li class="divider"></li>
<li><a href="#">All of the Above</a></li>
</ul>
</div><!-- /btn-group -->
<%= f.text_field :year , :class => "form-control", :placeholder => "Years of experience" %>
</div>
</p>
<div class = "center form-actions">
<%= f.submit "Submit", class: "btn btn-lg btn-primary" %>
</div>
</fieldset>
<% end %>
</div>
</div>
我是節約了@user錯了地方?我仍然對@variablename實例變量的概念不太瞭解......幫助和解釋非常感謝