B
Becca Girl
Hello.
I've got working code, but I don't think that it's done properly so any
help to make this more efficient and most of all, correct, would be so
very appreciated.
In my users_helper.rb file
def generate_sub_nav
if session[:user]
sub_nav_menu = []
user = User.find(session[:user])
for role in user.roles
for right in role.rights
if right.on_menu
sub_nav_menu << right.id
end
end # for right
end # for role
end # if
sub_nav_menu.sort!
end # def
In my application_helper.rb file for the layout and display
def show_sub_nav(rights)
html_out = '<table><tr><td>'
for right in rights
right_array = Right.findall, :conditions => ["id = ?", right])
for menu in right_array
html_out << link_to_unless_current (menu.name,
:controller => menu.controller, :action => menu.action)
end
end #for right in rights
html_out << '</td></tr></table>'
html_out
end
In my controllers (not including the user_controller)
helper :users
There's got to be a better, more Ruby like way to do this.
THANKS!
I've got working code, but I don't think that it's done properly so any
help to make this more efficient and most of all, correct, would be so
very appreciated.
In my users_helper.rb file
def generate_sub_nav
if session[:user]
sub_nav_menu = []
user = User.find(session[:user])
for role in user.roles
for right in role.rights
if right.on_menu
sub_nav_menu << right.id
end
end # for right
end # for role
end # if
sub_nav_menu.sort!
end # def
In my application_helper.rb file for the layout and display
def show_sub_nav(rights)
html_out = '<table><tr><td>'
for right in rights
right_array = Right.findall, :conditions => ["id = ?", right])
for menu in right_array
html_out << link_to_unless_current (menu.name,
:controller => menu.controller, :action => menu.action)
end
end #for right in rights
html_out << '</td></tr></table>'
html_out
end
In my controllers (not including the user_controller)
helper :users
There's got to be a better, more Ruby like way to do this.
THANKS!