blob: b8df9ddb8633ccd91c4a6d67fab6f4b83f7bc498 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
class MenuItem < ApplicationRecord
default_scope -> { where(:type => "MenuItem") }
translates :title
validates :title, presence: true
acts_as_list :scope => :type
before_save :determine_type_id
def titles=(values)
values.each do |locale, value|
Globalize.with_locale(locale) { self.title = value.to_s.strip.presence }
end
end
private
def determine_type_id
case self.class.name
when "MenuItem"
self.type_id = 1
when "FeaturedArticle"
self.type_id = 2
end
end
end
class FeaturedArticle < MenuItem
default_scope -> { where(:type => "FeaturedArticle") }
end
|