ruby on rails - Attribute not being set -


मेरे पास मेरे उपयोगकर्ता में नया फ़ॉर्म: < Pre> और lt;% = f.fields_for: प्रोफाइल, प्रोफाइल.न्यू करो | टी | & Gt%; & Lt; div वर्ग = "फ़ील्ड" & gt; & Lt;% = t.label: प्रकार, "क्या आप एक कलाकार या श्रोता हैं?" % & Gt; & lt; br / & gt; & Lt; p & gt; कलाकार: & lt;% = t.radio_button: प्रकार, "कलाकार"% & gt; & lt; / p & gt; & Lt; p & gt; श्रोता: & lt;% = t.radio_button: प्रकार, "श्रोता"% & gt; & lt; / p & gt; & Lt; / div & gt; & Lt;% end% & gt;

मैं अपने प्रोफ़ाइल मॉडल का प्रकार विशेषता सेट करना चाहता हूं हालांकि, प्रकार सेट नहीं किया जा रहा है और यह शून्य के लिए डिफ़ॉल्ट है मैंने अपने प्रोफ़ाइल नियंत्रक में यह बनाने विधि बनाने की कोशिश की, लेकिन यह काम नहीं करती:

  def बनाओ @profile = Profile.find (params [: id]) अगर Params [: profile_attributes] [: प्रकार] == "कलाकार" @ प्रोफाइल.प्रकार = "कलाकार" एल्सीफ पैरामस [: प्रोफाइल_एडिटर्स] [: प्रकार] == "श्रोता" @ प्रोफाइल.प्रकार = "श्रोता" अंत समाप्ति   

मैं कैसे "कलाकार" या "श्रोता" को सही ढंग से सेट करने के लिए प्रकार प्राप्त कर सकता हूं?

अद्यतन करें:

I यह त्रुटि प्राप्त करें: चेतावनी: संरक्षित विशेषताओं को नहीं मान सकते: प्रकार

< P> मुझे लगता है कि आप इसे इस तरह से एक्सेस करना चाहते हैं:
  पराम [[उपयोगकर्ता] [: प्रोफाइल_एडिटर्स] [: प्रकार]   

आपका दृश्य दिखना चाहिए कुछ ऐसा:

  & lt;% = form_for (setup_user (@user)) च | f | & Gt%; & Lt; p & gt; & Lt;% = f.label: ईमेल% & gt; & Lt; br / & gt; & Lt;% = f.text_field: email% & gt; & Lt; / p & gt; & Lt;% = f.fields_for: प्रोफाइल करना | प्रोफाइल | & Gt%; & Lt;% = profile.label: उपयोगकर्ता नाम% & gt; & Lt; br / & gt; & Lt;% = profile.text_field: उपयोगकर्ता नाम% & gt;   

और अपने सहायकों / application_helper.rb

  def सेटअप_उज़र (उपयोगकर्ता) user.tap do | u | U.build_profile अगर u.profile.nil? अंत का अंत   

यह सिर्फ एक उदाहरण है।

Comments