एक मानक रेल नियंत्रक में, मैं इस तरह के रिकॉर्ड बनाने चाहते हैं:बैकबोन.जेएस और रेल - बैकबोन मॉडल से पैरा कैसे संभालें?
@user = User.new(params[:user])
मतलब यह है कि कि में आते प्रपत्र मापदंडों नेस्टेड रहते हैं।
मैं बैकबोन.जेएस के साथ खेल रहा हूं और मैंने देखा कि डिफ़ॉल्ट रूप से, बैकबोन पैरामीटर को सामान्य रेल फॉर्म के रूप में घोंसला नहीं करता है, जो वास्तव में मुझे उम्मीद है। तो मैं सोच रहा हूँ मुझे क्या करना चाहिए ...
मैं बाहर क्या
आंकड़ा सर्वर साइड पर अगर यह देख कर बैकबोन से एक अनुरोध है हेडर, आदि स्वीकार करता है और हेरफेर तो अपने आप को परम मैं कर सकते हैं मेरी नियंत्रक कोड छोटा रखने:
do_some_params_manipulation_with(params)
@user = User.new(params[:user])
respond_to do |format|
if @user.save
format.html {redirect_to users_url}
format.json {render :json => @user.to_json }
end
end
या, मैं एक शाखा है जो बार-बार कोड के साथ समाप्त होता है लेकिन लंबे समय में अधिक maintainable हो सकता है में वस्तु का दृष्टांत करना ....
respond_to do |format|
format.html do
@user = User.new(params[:user])
if @user.save
redirect_to users_url
end
end
format.json do
@user = User.new(params) # and rely on mass-assignment protection
if @user.save
render :json => @user.to_json
end
end
end
या क्या मैं अपने बैकबोन.जेएस मॉडल को .toJSON विधि को ओवरराइड करके संशोधित करता हूं (जो मुझे पूरी तरह से सुनिश्चित नहीं है कि मुझे कैसे करना है क्योंकि मुझे अभी तक बैकबोन.जेएस के बारे में पर्याप्त जानकारी नहीं है) ताकि यह पैराम्स को घोंसला दे?
इस स्थिति में, मेरे पास ऐप के दोनों किनारों तक पहुंच है, लेकिन मुझे दिलचस्पी है कि दूसरे क्या कर रहे हैं।
मैंने यह जवाब स्वीकार कर लिया है क्योंकि यह पैसे पर बहुत अधिक है, लेकिन मैंने इसे सर्वर की ओर से संभालने का फैसला किया। –
तो अभी तक इतना स्पष्ट है। इसके लिए धन्यवाद। – Cory
'this.constructor.name.toLowerCase()' को मूल मॉडल ऑब्जेक्ट 'App.Model' पर ऑब्जेक्ट कुंजी के रूप में उपयोग किया जा सकता है जो 'Backbone.Model' को बढ़ाता है। –