2011-03-06 10 views
40

मैं रेल 3 पर रूबी का उपयोग कर रहा हूं और मैं जानना चाहता हूं कि :location => ... और head :ok कथन का मतलब निम्नलिखित कोड में है, वे कैसे काम करते हैं और मैं उन का उपयोग कैसे कर सकता हूं।'answer =to ...' और 'head_ ok' का अर्थ 'answer_to' प्रारूप कथन में क्या है?

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

respond_to do |format| 
    format.xml { head :ok } 
end 

उत्तर

68
  1. render ... :location => @user नव निर्मित संसाधन के स्थान के ग्राहक को सूचित करने के HTTP location header सेट हो जाएगा (अर्थात, इसके URL)

  2. head :ok sets render to return an empty response (so just the header, no body) with status 200.head :okrender nothing: true, status: :ok के लिए आशुलिपि है।
    Here's a list of all the :status options you can use for setting the appropriate status code.

+3

तो क्या ग्राहक नव निर्मित उपयोगकर्ता स्थान के साथ क्या करता है? – highBandWidth

+0

@highBandWidth वैसे भी वे जो करना चाहते हैं। "नव निर्मित संसाधन के स्थान" की सटीक अर्थशास्त्र अनुप्रयोग पर निर्भर करता है। इस तरह के यूआरएल के ऊपर उदाहरण में उपयोगकर्ता प्रोफ़ाइल दिखाने/संपादित करने के लिए इस्तेमाल किया जा सकता है। – hoha

+0

@ होहा मैं सिर के साथ, स्थान पर यूआरएल का उपयोग कर रहा हूं: ठीक है, उसे पैरामीटर की आवश्यकता है। लेकिन मुझे पैरामीटर का मान अपरिभाषित के रूप में मिलता है। id = comment.assignment.id हेड: ठीक है, स्थान: असाइनमेंट_लेसन्स_पैथ (आईडी) क्या आप कृपया मेरी मदद कर सकते हैं? धन्यवाद। :) – Vishal