| Class | Menu |
| In: |
app/models/menu.rb
|
| Parent: | ActiveRecord::Base |
-*- coding: utf-8 -*-
Schema version: 87
Table name: menus
id :integer not null, primary key domain_id :integer not null code :string(255) not null name_po :integer not null motion :string(255) parent_id :integer lft :integer rgt :integer product_id :integer created_at :string(14) updated_at :string(14) created_by :integer updated_by :integer created_in :integer updated_in :integer lock_version :integer default(0), not null
| root | -> | nested_set_root |
| children | -> | nested_set_children |
メニューレイアウトでの根を返す。
# File app/models/menu.rb, line 39
39: def self.root
40: find(:first, :conditions => "menus.parent_id IS NULL", :order => "menus.id")
41: end
necessary な子メニュー全体を返す。
# File app/models/menu.rb, line 50
50: def children
51: @children ||= nested_set_children.select(&:visible?)
52: end
URL を構成するためのオプションを返す。
# File app/models/menu.rb, line 55
55: def url_options
56: return @url_options if defined?(@url_options)
57: return {} unless self.motion
58: @url_options = {}
59: self.motion.scan(/(\w+)=(\w+)/) do |key, value|
60: @url_options[key.to_sym] = value
61: end
62: return @url_options
63: end
閲覧可能かどうかを判定する。
# File app/models/menu.rb, line 44
44: def visible?
45: return product.visible? if product
46: return !children.empty?
47: end