Guest User

Untitled

a guest
Jun 19th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. ## Plugin
  2. module FindAllList
  3. class ActiveRecord::Base
  4. # Returns a list of records to be used for a select.
  5. # Example
  6. # To use the default :id => 'id', :display => 'name'
  7. # User.list
  8. #
  9. # Or you could specify one or many
  10. # User.list( :id => 'unique_field', :display => 'title')
  11. #
  12. def self.list(options={}) #:doc
  13. options[:id].blank? ? id_column = :id : id_column = options.delete(:id).to_sym
  14. options[:display].blank? ? display_column = :name : display_column = options.delete(:display).to_sym
  15. find(:all).map { |x| [ x.id_column.to_s + ': ' + x.display_column, x.id_column ] }
  16. end
  17. end
  18. end
  19.  
  20. ActiveRecord::Base.send(:include, FindAllList)
  21.  
  22.  
  23. ActiveRecord::Base.send(:include, FindAllList)
  24.  
  25. ## script/console
  26. >> Project.list
  27. NoMethodError: undefined method `id_column' for #<Project:0x23e8774>
  28. from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/attribute_methods.rb:260:in `method_missing'
  29. from /Users/mark/Programming/ruby/scrum/scrum/vendor/plugins/find_list/lib/find_list.rb:14:in `list'
  30. from /Users/mark/Programming/ruby/scrum/scrum/vendor/plugins/find_list/lib/find_list.rb:14:in `map'
  31. from /Users/mark/Programming/ruby/scrum/scrum/vendor/plugins/find_list/lib/find_list.rb:14:in `list'
  32. from (irb):1
Add Comment
Please, Sign In to add comment