web-dev-qa-db-ja.com

`:location => ...`と `head:ok`は 'respond_to'形式のステートメントで何を意味しますか?

Ruby on Rails 3を使用しており、:location => ...およびhead :okステートメントは、次のコードで、それらがどのように機能し、どのように使用できるかを意味します。

respond_to do |format|
    format.xml  { render :xml => @user, :status => :created, :location => @user }
end

respond_to do |format|
    format.xml  { head :ok }
end
41
user502052
  1. render ... :location => @userHTTPロケーションヘッダー を設定して、新しく作成されたリソースの場所(つまり、そのURL)をクライアントに通知します

  2. head :okは、ステータス200の空の応答(ヘッダーのみ、本文なし)を返すようにrenderを設定します。head :okは、render nothing: true, status: :okの省略形です。
    これは、適切なステータスコードの設定に使用できるすべての:statusオプションのリストです。

71
hoha