6

मैंने बहुत से संबंधित पोस्ट पढ़े लेकिन यह नहीं पता कि यह मेरे लिए क्यों काम नहीं कर रहा है। मेरे पास अभी भी "संरक्षित विशेषताओं को बड़े पैमाने पर असाइन नहीं किया जा सकता है: प्रोफ़ाइल" ... मैं क्या गलत कर रहा हूं?सुरक्षित गुणों को बड़े पैमाने पर असाइन नहीं कर सकता: प्रोफाइल,

मेरे पास एक-एक-एक रिश्ते के साथ एक उपयोगकर्ता मॉडल और संबंधित प्रोफाइल मॉडल है। यहाँ उपयोगकर्ता मॉडल (सरलीकृत)

class User < ActiveRecord::Base 
    attr_accessible :email, :password, :password_confirmation, :profile_attributes, :profile_id 
    has_secure_password 

    has_one :profile 

    accepts_nested_attributes_for :profile 
end 

प्रोफ़ाइल मॉडल

class Profile < ActiveRecord::Base 
attr_accessible :bio, :dob, :firstname, :gender, :lastname, :user_id 

belongs_to :user 
end 

मेरी उपयोगकर्ता नियंत्रक

def new 
@user = User.new 
    respond_to do |format| 
    format.html # new.html.erb 
    format.json { render json: @user } 
    end 
end 

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

respond_to do |format| 
    if @user.save 

    format.html { redirect_to @user, flash: {success: 'User was successfully created. Welcome !'} } 
    format.json { render json: @user, status: :created, location: @user } 
    else 
    format.html { render action: "new" } 
    format.json { render json: @user.errors, status: :unprocessable_entity } 
    end 
end 
end 

यह किसी भी सहायक हो सकता है, तो दोनों उपयोगकर्ता और प्रोफाइल मचान थे। उपयोगकर्ता attr_accessible, एक ही समस्या में 'profile_attributes' के स्थान पर ...

'@ user.build_profile' के स्थान पर भी कोशिश की, '@ user.profiles.build':

मैं के साथ भी करने की कोशिश की 'profiles_attributes' उपयोगकर्ता नियंत्रक ... एक ही परिणाम में ...

कुछ स्पष्टीकरण के साथ कोई मदद बहुत अच्छा होगा (मैं रेल पर एक noob तो मुझे माफ कर दो) साधारण से फ़ॉर्म

संपादित मैं

का उपयोग
<%= simple_form_for(@user) do |f| %> 
<%= f.error_notification %> 


<%= f.simple_fields_for :profiles do |p| %> 
    <div class="nested-form-inputs"> 
     <%= p.input :lastname %> 
     <%= p.input :firstname %> 
    </div> 
<% end %> 


<div class="form-inputs"> 
    <%= f.input :email %> 
    <%= f.input :password %> 
    <%= f.input :password_confirmation %> 
</div> 

<div class="form-actions"> 
    <%= f.button :submit %> 
</div> 

<% end %> 

चीयर्स

उत्तर

5

त्रुटि संदेश आप उद्धृत can't mass-assign protected attributes: profiles कहते हैं। मुझे तुम्हारी जरूरत है एक attr_accessible :profiles (या संभवतः :profile)

मैं साथ

accepts_nested_attributes_for :order_items 
attr_accessible :order_item 
+0

इसे हल किया गया, समस्या रेल क्लास कैश के साथ थी, मैंने रेल सर्वर को पुनरारंभ किया है और सब कुछ पूरी तरह से काम कर रहा है। – ajet

3

समस्या रेल वर्ग कैश के साथ था वाला ऐप, मैं सर्वर को पुनः आरंभ कर दिया है और सब कुछ पूरी तरह से काम कर रहा है का मानना ​​है ..,

संबंधित मुद्दे