From 397bee72fa5bccf64d09eeb77b5ee0000aabfdb4 Mon Sep 17 00:00:00 2001 From: hukl Date: Sat, 8 Aug 2009 15:04:11 +0200 Subject: added dynamic main menu --- app/helpers/content_helper.rb | 7 +++++-- app/models/menu_item.rb | 5 +++++ app/views/content/_main_navigation.html.erb | 5 +++-- db/migrate/20090719180204_create_menu_items.rb | 16 ++++++++++++++++ test/fixtures/menu_items.yml | 7 +++++++ test/unit/menu_item_test.rb | 8 ++++++++ 6 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 app/models/menu_item.rb create mode 100644 db/migrate/20090719180204_create_menu_items.rb create mode 100644 test/fixtures/menu_items.yml create mode 100644 test/unit/menu_item_test.rb 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 @@ module ContentHelper def main_menu - nodes = Node.find(:all, :conditions => {:parent_id => 1}) - render :partial => 'content/main_navigation', :locals => {:nodes => nodes} + menu_items = MenuItem.all + render( + :partial => 'content/main_navigation', + :locals => {:menu_items => menu_items} + ) end 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 @@ +class MenuItem < ActiveRecord::Base + + translates :title + +end 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 @@ +<%= Time.now %> \ 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 @@ +class CreateMenuItems < ActiveRecord::Migration + def self.up + create_table :menu_items do |t| + t.integer :node_id + t.string :path + t.timestamps + end + + MenuItem.create_translation_table! :title => :string + end + + def self.down + drop_table :menu_items + MenuItem.drop_translation_table! + end +end 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 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html + +one: + node_id: 1 + +two: + 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 @@ +require 'test_helper' + +class MenuItemTest < ActiveSupport::TestCase + # Replace this with your real tests. + test "the truth" do + assert true + end +end -- cgit v1.3