summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/helpers/content_helper.rb7
-rw-r--r--app/models/menu_item.rb5
-rw-r--r--app/views/content/_main_navigation.html.erb5
-rw-r--r--db/migrate/20090719180204_create_menu_items.rb16
-rw-r--r--test/fixtures/menu_items.yml7
-rw-r--r--test/unit/menu_item_test.rb8
6 files changed, 44 insertions, 4 deletions
diff --git a/app/helpers/content_helper.rb b/app/helpers/content_helper.rb
index 536377b..012ee42 100644
--- a/app/helpers/content_helper.rb
+++ b/app/helpers/content_helper.rb
@@ -1,8 +1,11 @@
1module ContentHelper 1module ContentHelper
2 2
3 def main_menu 3 def main_menu
4 nodes = Node.find(:all, :conditions => {:parent_id => 1}) 4 menu_items = MenuItem.all
5 render :partial => 'content/main_navigation', :locals => {:nodes => nodes} 5 render(
6 :partial => 'content/main_navigation',
7 :locals => {:menu_items => menu_items}
8 )
6 end 9 end
7 10
8 def calendar 11 def calendar
diff --git a/app/models/menu_item.rb b/app/models/menu_item.rb
new file mode 100644
index 0000000..666fdf4
--- /dev/null
+++ b/app/models/menu_item.rb
@@ -0,0 +1,5 @@
1class MenuItem < ActiveRecord::Base
2
3 translates :title
4
5end
diff --git a/app/views/content/_main_navigation.html.erb b/app/views/content/_main_navigation.html.erb
index f43e201..98919a5 100644
--- a/app/views/content/_main_navigation.html.erb
+++ b/app/views/content/_main_navigation.html.erb
@@ -1,7 +1,8 @@
1<%= Time.now %>
1<div id="main_navigation"> 2<div id="main_navigation">
2 <ul> 3 <ul>
3 <% nodes.each do |node| %> 4 <% menu_items.each do |item| %>
4 <li><%= link_to_path node.head.try(:title), node.unique_name %></li> 5 <li><%= link_to_path item.title, item.path %></li>
5 <% end %> 6 <% end %>
6 </ul> 7 </ul>
7</div> \ No newline at end of file 8</div> \ No newline at end of file
diff --git a/db/migrate/20090719180204_create_menu_items.rb b/db/migrate/20090719180204_create_menu_items.rb
new file mode 100644
index 0000000..a05012a
--- /dev/null
+++ b/db/migrate/20090719180204_create_menu_items.rb
@@ -0,0 +1,16 @@
1class CreateMenuItems < ActiveRecord::Migration
2 def self.up
3 create_table :menu_items do |t|
4 t.integer :node_id
5 t.string :path
6 t.timestamps
7 end
8
9 MenuItem.create_translation_table! :title => :string
10 end
11
12 def self.down
13 drop_table :menu_items
14 MenuItem.drop_translation_table!
15 end
16end
diff --git a/test/fixtures/menu_items.yml b/test/fixtures/menu_items.yml
new file mode 100644
index 0000000..2319de1
--- /dev/null
+++ b/test/fixtures/menu_items.yml
@@ -0,0 +1,7 @@
1# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
3one:
4 node_id: 1
5
6two:
7 node_id: 1
diff --git a/test/unit/menu_item_test.rb b/test/unit/menu_item_test.rb
new file mode 100644
index 0000000..81d9c01
--- /dev/null
+++ b/test/unit/menu_item_test.rb
@@ -0,0 +1,8 @@
1require 'test_helper'
2
3class MenuItemTest < ActiveSupport::TestCase
4 # Replace this with your real tests.
5 test "the truth" do
6 assert true
7 end
8end