Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails Model without a table

I want to create a select list for lets say colors, but dont want to create a table for the colors. I have seen it anywhere, but can't find it on google.

My question is: How can I put the colors in a model without a database table?

Or is there a better rails way for doing that?

I have seen someone putting an array or a hash directly in the model, but now I couldn't find it.

like image 676
user993460 Avatar asked Jan 17 '13 22:01

user993460


1 Answers

class Model    include ActiveModel::Validations   include ActiveModel::Conversion   extend ActiveModel::Naming    attr_accessor :whatever    validates :whatever, :presence => true    def initialize(attributes = {})     attributes.each do |name, value|       send("#{name}=", value)     end   end    def persisted?     false   end  end 

attr_accessor will create your attributes and you will create the object with initialize() and set attributes.

The method persisted will tell there is no link with the database. You can find examples like this one: http://railscasts.com/episodes/219-active-model?language=en&view=asciicast

Which will explain you the logic.

like image 174
Louis XIV Avatar answered Sep 22 '22 04:09

Louis XIV