2011-10-29 46 views
0

我的計算機上有兩個Ruby on Rails項目。出於某種原因,當我生成一個項目一個支架,我得到:Rails使用xml和其他json格式生成一個項目

# POST /users 
    # POST /users.xml 
    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.xml { render :xml => @user, :status => :created, :location => @user } 
     else 
     format.html { render :action => "new" } 
     format.xml { render :xml => @user.errors, :status => :unprocessable_entity } 
     end 
    end 
    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 

奇怪的是,我無論是在同一計算機生成。 當我做紅寶石-v我得到1.9.2。

如何配置腳手架來生成一個或另一個?現在我對.xml感興趣,但也許我會在某天將它切換到json。無論如何,我知道我可以手動完成這項工作,但如果您有多個表格(或者甚至是一張表格),那麼這是很多工作。我怎麼能告訴軌道默認情況下我想要一種格式?

+0

它們是否都使用相同版本的導軌? – drnewman

+0

一個生成xml的有rails 3.1.1,生成json的是3.1.0。 – marimaf

回答

2

最有可能你正在使用不同的版本,這兩個應用軌道.. Rails的3.0腳手架生成的XML代碼和Rails 3.1腳手架生成JSON代碼..請檢查您的寶石列表安裝導軌的多個版本..

+0

實際上,生成xml的文件有rails 3.1.1 *,但由於某些原因,在Gemfile中顯示爲rails 3.0.10),生成json的文件是3.1.0(並且在gemfile中它也具有3.1.0) 。 – marimaf

+0

我更新了gemfile到3.1.1與另一個有相同版本的導軌,但腳手架仍在生成json – marimaf

+0

我非常確定rails> = 3.1 scaffold會生成json而不是xml ..也許有些東西Gemfile.lock錯誤。檢查它指定的是什麼版本的導軌.. –

相關問題