2013-02-10 26 views
1

如何轨知道如何映射到每个功能的控制器,如果routes.rb文件只规定:的Rails的routes.rb

resources :users 

UsersController里面你有

class UsersController < ApplicationController 
    # GET /users 
    # GET /users.json 
    def index 
    @users = User.all 

    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render :json => @users } 
    end 
    end 

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

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

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

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

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

    # POST /users 
    # POST /users.json 
    def create 
    @user = User.new(params[:user]) 

    respond_to do |format| 
     if @user.save 
     format.html { redirect_to @user, :notice => 'User was successfully created.' } 
     format.json { render :json => @user, :status => :created, :location => @user } 
     else 
     format.html { render :action => "new" } 
     format.json { render :json => @user.errors, :status => :unprocessable_entity } 
     end 
    end 
    end 

    # PUT /users/1 
    # PUT /users/1.json 
    def update 
    @user = User.find(params[:id]) 

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

    # DELETE /users/1 
    # DELETE /users/1.json 
    def destroy 
    @user = User.find(params[:id]) 
    @user.destroy 

    respond_to do |format| 
     format.html { redirect_to users_url } 
     format.json { head :no_content } 
    end 
    end 
end 

如何轨确定例如index function mapsGET/userscreate function映射到POST/users

resources :users怎么知道映射到UsersController

+1

入门指南在解释此问题方面做得很好:http://guides.rubyonrails.org/getting_started.html – 2013-02-11 03:46:05

回答

4

Rails基于'约定配置'范例。

因此,“资源:用户”行表示所有的标准CRUD方法是由相应的UsersController <支持 - “用户”的前缀匹配的控制器,型号等

1

请检查轨道路线指南:http://guides.rubyonrails.org/routing.html

并在实践中看到什么路线声明中项目目录中发出以下命令:

耙路线

同样如前所述,坚持约定,并记住,铁轨是一个非常有见地的软件。