Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Plugin
- module FindAllList
- class ActiveRecord::Base
- # Returns a list of records to be used for a select.
- # Example
- # To use the default :id => 'id', :display => 'name'
- # User.list
- #
- # Or you could specify one or many
- # User.list( :id => 'unique_field', :display => 'title')
- #
- def self.list(options={}) #:doc
- options[:id].blank? ? id_column = :id : id_column = options.delete(:id).to_sym
- options[:display].blank? ? display_column = :name : display_column = options.delete(:display).to_sym
- find(:all).map { |x| [ x.id_column.to_s + ': ' + x.display_column, x.id_column ] }
- end
- end
- end
- ActiveRecord::Base.send(:include, FindAllList)
- ActiveRecord::Base.send(:include, FindAllList)
- ## script/console
- >> Project.list
- NoMethodError: undefined method `id_column' for #<Project:0x23e8774>
- from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/attribute_methods.rb:260:in `method_missing'
- from /Users/mark/Programming/ruby/scrum/scrum/vendor/plugins/find_list/lib/find_list.rb:14:in `list'
- from /Users/mark/Programming/ruby/scrum/scrum/vendor/plugins/find_list/lib/find_list.rb:14:in `map'
- from /Users/mark/Programming/ruby/scrum/scrum/vendor/plugins/find_list/lib/find_list.rb:14:in `list'
- from (irb):1
Add Comment
Please, Sign In to add comment