如何在编辑后将用户重定向到他自己的数据

时间:2011-12-17 22:03:40

标签: ruby-on-rails profile show

我收到了以下代码:

 def edit
    @user = User.find(session[:user_id])  
  end   

def update
    @user = User.find(session[:user_id])  

    respond_to do |format|
      if @user.update_attributes(params[:user])
        format.html { redirect_to @user, 
         notice: 'Profile succesfully modified`.' }
        format.json { head :ok }
      else
        format.html { render action: "edit" }
        format.json { render json: @user.errors, status: :unprocessable_entity }
      end
    end
  end



def show
    @user = User.find(session[:user_id])

        respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @user }
    end
  end  

路由

resources :users

get "signup" => "users#new", :as => "signup"
get "profile" => "users#show", :as => "profile"
get "edit_profile" => "users#edit", :as => "edit_profile" 

我想要实现的是在更新信息后将用户重定向到他的个人资料。

但是当我提交更改时,我得到以下内容

    Template is missing

    Missing template users/update, application/update with {:handlers=>[:erb, :builder,
 :coffee], :formats=>[:html], :locale=>[:en, :en]}. Searched in: *   "/Users/blakee/Desktop/ruby/scorergui/app/views"    

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

当您重定向到该用户时,您将重定向到show方法。

您需要在app / views / users中使用以下视图:

  1. show.html.erb
  2. edit.html.erb
  3. 只要你拥有那些,你应该是好的。我猜你没有表演。