nil的未定义方法`profile':NilClass

时间:2014-05-23 07:15:01

标签: ruby-on-rails ruby-on-rails-4

我遇到了错误" 未定义的方法`个人资料'为零:NilClass "在我的编辑视图中。当我更新我的个人资料记录并在出现错误时重定向到编辑页面时,我遇到了渲染编辑视图的问题。以下是我的个人资料控制器中的代码:

def edit
    @usermodel = current_usermodel
    @profile = current_usermodel.profile
    if current_usermodel.stripe_access_token.blank?
        flash.keep[:error]  = "Please, connect your #{view_context.link_to('Stripe Account', usermodel_omniauth_authorize_path(:stripe_connect))} to accept payments".html_safe
    end 
end


def update
    @profile = current_usermodel.profile
    respond_to do |format|
    if @profile.update_attributes(params[:profile])
        format.html { redirect_to @profile, notice: 'Profile was successfully updated.' }
        format.json { head :no_content }
    else
        format.html { render action: "edit" }
        format.json { render json: @profile.errors, status: :unprocessable_entity }
    end
end

在视图中,我有以下形式:

<%= simple_form_for @usermodel.profile do |f| %>
<%= render "pages/error_display", :target => @usermodel.profile %>
</br>
    <b>Business Info </b>
...

@usermodel 为零,从控制器看来不应该是这种情况

1 个答案:

答案 0 :(得分:1)

尝试添加

@usermodel = current_usermodel

也要更新行动。