2016-12-02 44 views
1

晚上好,我一直在这个问题上工作了好几个小时了,我似乎无法找到它的修复(RoR noob)。长话短说 - 在创建用户会话并且用户登录后,我无法切换到不同的页面。这件事是错误起来:The error after I try viewing a different html page用户会话创建后路由错误在rails上创建ruby

users_controller.rb

class UsersController < ApplicationController 
    before_action :set_user, only: [:show, :edit, :update, :destroy] 

    # GET /users 
    # GET /users.json 
    def index 
    @users = User.all 
    end 



    # GET /users/1 
    # GET /users/1.json 
    def show 
    @user = User.find(params[:id]) 
    end 

    # GET /users/new 
    def new 
    @user = User.new 
    end 

    # GET /users/1/edit 
    def edit 
    end 

    # POST /users 
    # POST /users.json 
    def create 
    @user = User.new(user_params) 


     if @user.save 
     flash[:success] = "Welcome to CarsOnGo #{@user.username}" 
     redirect_to users_path 
     else 
     render 'new' 
     end 
    end 


    # PATCH/PUT /users/1 
    # PATCH/PUT /users/1.json 
    def update 
    respond_to do |format| 
     if @user.update(user_params) 
     format.html { redirect_to @user, notice: 'User was successfully updated.' } 
     format.json { render :show, status: :ok, location: @user } 
     else 
     format.html { render :edit } 
     format.json { render json: @user.errors, status: :unprocessable_entity } 
     end 
    end 
    end 

    # DELETE /users/1 
    # DELETE /users/1.json 
    def destroy 
    @user.destroy 
    respond_to do |format| 
     format.html { redirect_to users_url, notice: 'User was successfully destroyed.' } 
     format.json { head :no_content } 
    end 
    end 

    private 
    # Use callbacks to share common setup or constraints between actions. 
    def set_user 
     @user = User.find(params[:id]) 

    end 

    # Never trust parameters from the scary internet, only allow the white list through. 
    def user_params 
     params.require(:user).permit(:username, :email,:password,:image) 
    end 
end 

show.html.erb

<div class="container"> 
    <div class="row profile"> 
     <div class="col-md-3"> 
      <div class="profile-sidebar"> 
       <!-- SIDEBAR USERPIC --> 
       <div class="profile-userpic"> 
        <center><%= image_tag("taho1.JPG", :alt => "rss feed") %></center> 
       </div> 
       <!-- END SIDEBAR USERPIC --> 
       <!-- SIDEBAR USER TITLE --> 
       <div class="profile-usertitle"> 
        <div class="profile-usertitle-name"> 
         <%= @user.username %> 
        </div> 

       </div> 
       <!-- END SIDEBAR USER TITLE --> 
       <!-- SIDEBAR BUTTONS --> 
       <div class="profile-userbuttons"> 

        <button type="button" class="btn btn-danger btn-sm">Message</button> 
       </div> 
       <!-- END SIDEBAR BUTTONS --> 
       <!-- SIDEBAR MENU --> 
       <div class="profile-usermenu"> 
        <ul class="nav"> 
         <li class="active"> 
          <a href="#"> 
          <i class="glyphicon glyphicon-home"></i> 
          Overview </a> 
         </li> 
         <li> 
          <a href="#"> 
          <i class="glyphicon glyphicon-user"></i> 
          Account Settings </a> 
         </li> 
         <li> 
          <a href="images"> 
          <i class="glyphicon glyphicon-ok"></i> 
          Upload Vehicle Info</a> 
         </li> 
         <li> 
          <a href="#"> 
          <i class="glyphicon glyphicon-flag"></i> 
          Help </a> 
         </li> 
        </ul> 
       </div> 
       <!-- END MENU --> 
      </div> 
     </div> 
     <div class="col-md-9"> 
      <div class="profile-content"> 
       <%= form_for(@user, multipart: true) do |f| %> 

         <div class="field"> 
         <%= f.label :picture %> 
         <%= f.file_field :avatar %> 
         </div> 
         <div class="actions"> 
         <%= f.submit 'Upload Image' %> 

         </div> 
        <% end %> 
      </div> 
     </div> 
    </div> 
</div> 
<center> 

</center> 
<br> 
<br> 

的config/routes.rb中

Rails.application.routes.draw do 

    resources :images 
    resources :vehicles 
    get 'sessions/new' 

    get 'sessions/destory' 

    resource :users 
    # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 

    root 'pages#home' 
    get 'newcars', to: 'vehicles#new' 

    get 'signup', to: 'users#new' 
    get 'profile', to: 'pages#profile' 
    get 'login', to: 'sessions#new' 
    post 'login', to: 'sessions#create' 
    get 'images', to: 'images#new' 
    delete 'logout', to: 'sessions#destroy' 


    resources :users, except: [:new] 
    end 
+0

的路线也包含在显示HTML页面。感谢您的帮助和时间,我非常感谢。 –

+0

你可以分享你尝试访问'user/show'页面的代码snipet吗? – Abhinay

+0

找不到'id'= newcars的用户。但是,如果我能看到完整的网址,这很好 –

回答

0

在你users_controller.rb

# POST /users 
# POST /users.json 
    def create 
    @user = User.new(user_params) 
    if @user.save 
     flash[:success] = "Welcome to CarsOnGo #{@user.username}" 
     redirect_to user_path(@user) # <----- This part should look like this 
    else 
     render 'new' 
    end 
    end 

注意:注意pathuser object