Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
> SELECT * FROM users WHERE users.options LIKE "???1";
add_column :options, :notify_on_mail, :booleanб :default => :false
SELECT * FROM users WHERE users.options LIKE "???1";SELECT * FROM users WHERE (users.options & 1)
class User < ActiveRecord::Base
OPTIONS = [:option1, :option2, :option3]
OPTIONS.each_index do |index|
option = OPTIONS[index]
const = 1 << index
define_method(option) do
self.options & const) != 0
end
define_method("#{option}=") do |value|
if value != "0"
self.options |= const
else
self.options &= ~const
end
end
end
end
Как можно легко и просто реализовать опции в Ruby on Rails