Search code examples
rubyruby-on-rails-3paperclipattachment-fu

ruby on rails gallery ArgumentError Unknown key(s): attributes, discard_if attachment_fu and paperclip


Hi I'm trying to build a little gallery for myself and tried this link for multiple uploads for a album: http://www.mfischer.com/wordpress/2009/02/02/multiple-image-upload-and-crop-with-rails/

So far I'm running into following error when I visit localhost:3000/albums/new :

ArgumentError in AlbumsController#index
Unknown key(s): attributes, discard_if

Since I am not sure whether the attachment_fu-Plugin nor the paperclip-gem (which I use) are used correctly, maybe thats a problem to look at too?

Further my versions:

Ruby version    1.9.2 (x86_64-linux)
RubyGems version    1.7.1
Rack version    1.2
Rails version   3.0.4
Active Record version   3.0.4
Action Pack version 3.0.4
Active Resource version 3.0.4
Action Mailer version   3.0.4
Active Support version  3.0.4

Can't tell the exact attachment_fu version... :/ Paperclip version is this:

paperclip (2.3.8)

My album model is this:
# == Schema Information
# Schema version: 20110404082122
#
# Table name: albums
#
#  id         :integer         not null, primary key
#  name       :string(255)
#  location   :string(255)
#  date       :date
#  created_at :datetime
#  updated_at :datetime
#

class Album < ActiveRecord::Base
  has_many  :images,
        :attributes => true,
        :discard_if => proc { |upload| upload.photo_file_size.nil? }
end

and my image model is like this:

# == Schema Information
# Schema version: 20110404082122
#
# Table name: images
#
#  id          :integer         not null, primary key
#  name        :string(255)
#  date        :date
#  landscape   :boolean
#  flash       :boolean
#  cameramaker :string(255)
#  cameramodel :string(255)
#  lens        :string(255)
#  flength     :string(255)
#  aperture    :string(255)
#  exposure    :string(255)
#  iso         :string(255)
#  album_id    :integer
#  filesize    :integer
#  created_at  :datetime
#  updated_at  :datetime
#

require 'RMagick'

class Image < ActiveRecord::Base
  belongs_to :album
  has_attached_file :photo,
            :styles => {
              :thumb => ["150x150", :jpg],
              :pagesize => ["500x400", :jpg],
            },
            :default_style => :pagesize
end

Do you need anything more? I don't understand what the problem is.. I think the attachment_fu plugin is too old or I missed something to say rails to use it...?

Thanks for your time!

Wanye


Solution

  • http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_many

    There is no any :attributes or :discard_if options for has_many association

    Looks like in that tutorial author used attribute_fu plugin. So you need to install it

    https://github.com/jamesgolick/attribute_fu