Ruby on rails Rails生成一个xml项目和另一个json格式项目
我的计算机上有两个RubyonRails项目。出于某种原因,当我在一个项目中生成脚手架时,我得到:Ruby on rails Rails生成一个xml项目和另一个json格式项目,ruby-on-rails,Ruby On Rails,我的计算机上有两个RubyonRails项目。出于某种原因,当我在一个项目中生成脚手架时,我得到: # 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 suc
# 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
奇怪的是,我在同一台计算机上生成了这两个。
当我使用ruby-v时,我得到了1.9.2
如何配置脚手架以生成其中一个?现在我对.xml感兴趣,但也许有一天我会将两者都转换为json。无论如何,我知道我可以手动完成这项工作,但是如果您有多个表(或者甚至有一个表),这项工作将非常繁重。我如何告诉rails,默认情况下我需要一种特定格式?很可能您在两个应用程序中使用了不同版本的rails。。Rails 3.0 scaffold生成xml代码,Rails 3.1 scaffold生成json代码。。检查gem列表中安装的多个rails版本。它们都使用相同版本的rails吗?生成xml的版本是rails 3.1.1,生成json的版本是3.1.0。实际上,生成xml的版本是rails 3.1.1*,但在Gemfile中由于某种原因显示为rails 3.0.10),而生成json的版本是3.1.0(在GEM文件中,它也有3.1.0)。我将gemfile更新为3.1.1,使rails的版本与另一个版本相同,但scaffold仍在生成json。我非常确定rails>=3.1 scaffold将生成json而不是xml。gemfile.lock可能有问题。检查它指定的rails版本。你是对的!xml one sa的Gemfil.lockys rails(3.0.10)和生成json的一个都是3.1.1,即使我做rails-v时他们都是3.1.1,我应该/可以手动更改吗?很抱歉这么晚才回来..更改的简单方法是删除Gemfile.lock并进行捆绑安装,但在此之前,请在Gemfile中指定您想要的rails版本。。