2016-07-18 3 views
0

に私はこのエラーに直面しています:#<ActiveRecordは::協会:: CollectionProxy []> Railsの

<ActiveRecord::Associations::CollectionProxy []>

を、私はレポートを保存することができていますが、できませんでした店舗のアイコン。これはRails 3.2.13には問題なく格納されていますが、この問題はRails 4.2.6で発生しています。

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 

が、私はレポートを保存することができていますが、アイコンは保存されません。助けてください

+0

この行を 'if @ report.save'に変更した場合のエラーメッセージは 'if @ report.save! 'ですか? –

+0

申し訳ありませんが、これはエラーではありません。あなたのログから完全なスタックトレースと、それが破損している行に一致するコードを提供してください。 – phoet

答えて

1

私はあなたが強力なパラメータでアイコンの属性を逃したかもしれないと思う。