这两个创建方法在用户控制器中的区别

时间:2012-05-10 23:39:09

标签: ruby-on-rails

之间有区别吗?
def create
  @user = User.new(params[:user])
  if @user.save
    redirect_to root_url, :notice => "Signed up!"
  else
    render :new
  end
end

  def create
    @user = User.new(params[:user])

    respond_to do |format|
      if @user.save
        format.html { redirect_to(:users, :notice => 'Registration successfull. Check your email for activation instructions.') }
        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

忽略错误并注意问题,我的主要问题是使用xml格式与不使用它之间的区别,它们似乎做了确​​切的事情。

1 个答案:

答案 0 :(得分:1)

使用格式与html不同的respond_to,您可以使用指定的格式获得响应(对Web服务很有用)。

在这种情况下(用户创建)我不认为它真的有用,但这完全取决于你!

不像你的第一个例子那样使用respond_to只会渲染html。

此处有关于respond_to的更多信息:

http://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respond_to