2

我跟着发生了,这是我的用户控制器

class UserController < ApplicationController

def new
     @user = User.new
end

def create
    @user = User.new(params[:user])
    if @user.save
        redirect_to user_session_path
    else
    redirect_to new_user_session_path
end

end

def show
    @user = User.find(params[:id])
    #redirect_to @user
end
end

在我的 routes.rb 我有以下内容:

Estaciones::Application.routes.draw do
root :to => "static_pages#home"
match '/contact', :to=>'static_pages#contact'
match '/about', :to=>'static_pages#about'
devise_for :user
resources :user do
#resources :car
end

当我在浏览器上运行它时,我得到了这个:

Routing Error

No route matches {:action=>"show", :controller=>"user"}
Try running rake routes for more information on available routes.

不知道为什么会这样???

4

2 回答 2

2

您需要将User对象或至少将用户 ID 传递给link_to您正在创建单击的链接的方法。尝试类似的东西<%= link_to user.name, user %>

还要确保您的控制器名称正确,例如UsersController(复数)。

于 2012-07-23T22:25:28.070 回答
1

重命名两个文件:

'user_controller.rb'=>'users_controller.rb'

和顶部的常数:

UserController=>UsersController

文件名必须匹配常量,约定是模型是单数,控制器是复数(匹配表格)。

并尝试访问

/users/1

于 2012-08-16T07:14:25.567 回答