2016-07-18 7 views
0

ich diesen Fehler bin vor, während meine Anwendung ausgeführt wird:# <Activerecord :: Verbände :: CollectionProxy []> in Rails

<ActiveRecord::Associations::CollectionProxy []>

ich in der Lage bin Berichte zu speichern, konnte aber nicht Speichern Sie Symbole. Es wird in Rails 3.2.13 gespeichert, aber dieses Problem wird in Rails 4.2.6 angesprochen.

report.rb:

class Report < ActiveRecord::Base 
    belongs_to :user 
    has_many :icons, -> { order 'position_id ASC'} 
    accepts_nested_attributes_for :icons, :reject_if => lambda { |a| a[:icon].blank? }, :allow_destroy => true 
end 

icon.rb:

class Icon < ActiveRecord::Base 
    belongs_to :report 
end 

reports_controller:

def new 
@report = @user.reports.new({ 
     :background_color => Rails.application.config.custom.accounts.send(@user.account.name).colors.background, 
     :text_color => Rails.application.config.custom.accounts.send(@user.account.name).colors.commentary, 
     :button_color => Rails.application.config.custom.accounts.send(@user.account.name).colors.button 
     }) 
3.times { @report.icons.build } 

end 

    def create 
    respond_to do |format| 
     if @report.save  
     format.json { render :json => { :success => true, :user_id => @user.id, :report_id => @report.id, :report_title => @report.title, :icon_array => @report.icons, :redirect => user_report_url(current_user, @report.id) } } 
     else 
     format.json { render :json => { :success => false } } 
     end 
    end 
    end 

Ich bin in der Lage Berichte zu speichern, aber Symbole werden nicht gespeichert. Bitte helfen Sie

+0

Was ist die Fehlermeldung, wenn Sie diese Zeile 'if @ report.save' zu ​​'if @ report.save!'? –

+0

Sorry, aber das ist kein Fehler. Könnten Sie bitte den kompletten Stack-Trace von Ihren Protokollen und dem Code, der zu der Zeile passt, in der er bricht, bereitstellen? – phoet

Antwort

1

Ich denke, Sie haben möglicherweise Symbolattribute in den starken Parametern verpasst.