The menu I want to show to the users changes depending on their rights
After user authentication I redirect to my menu action which calls its view
access/menu.html.erb
<% if admin? %>
<%form_for(:user, :url => {:controller => 'admin_users',:name => session[:username]}) do |admin|%>
<ul><h2>Administrator: <%=session[:username]%></h2></ul>
<%= render(:partial =>'admin_form',:locals => {:admin => admin})%>
<%end%>
<%else%>
<%form_for(:user, :url => {:controller => 'students',:name => session[:username]}) do |student|%>
<ul><h2>???????: <%=session[:surname].to_s + " " + session[:name].to_s%></h2></ul>
<%= render(:partial =>'student_form',:locals => {:student => student})%>
<%end%>
<%end%>
And the forms look:
_student_form:
<table>
<ul>
<li><%=link_to '?????',{:controller => 'students'}%></li>
</ul>
<ul>
<li><%=link_to '?????? ?????????',{:controller => 'students'}%></li>
</ul>
<ul>
<li><%=link_to '???????? ?????? ????',{:controller => 'students'}%></li>
</ul>
<ul>
<li><%=link_to '???????? ??????',{:controller => 'students'}%></li>
</ul>
<ul>
<td> </td>
</ul>
</table>
_admin_form:
<table>
<ul>
<li><%=link_to '?????????? ????????????????',{:controller => 'AdminUsers',:role_id => 1}%></li>
</ul>
<ul>
<li><%=link_to '?????????? ????????',{:controller => 'AdminUsers',:role_id => 2}%></li>
</ul>
<ul>
<li><%=link_to '?????????? ??????????',{:controller => 'AdminUsers',:role_id => 3}%></li>
</ul>
<ul>
<li><%=link_to '?????????? ???????????',:controller => 'subjects'%></li>
</ul>
<ul>
<td> </td>
</ul>
</table>
If a log in as a student I get:
But if I log in as an administrator I get
How can this be posible??