2

私は次のことが起こります、これは私のUsercontrollerです

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 に答える