controller
class RolesController < ApplicationController
before_filter :login_required
def index
@roles = Role.find(:all)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @roles }
end
end
def new
@role = Role.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @role }
end
end
def create
@role = Role.new(params[:role])
if @role.save
redirect_to roles_url
flash[:notice] = "Successfully created role."
else
render :action => 'new'
end
end
def destroy
@role = Role.find(params[:id])
@role.destroy
respond_to do |format|
format.html { redirect_to(roles_url) }
format.xml { head :ok }
end
end
end
index view
Roles
<%= link_to 'Create new', new_role_path %>
-
<% for role in @roles %>
- <%= link_to role.name, role %> <%= link_to '(remove)', role, :confirm => 'Are you sure?', :method => :delete %> <% end %>
new view
New role
<% form_for(@role) do |f| -%> <%= f.error_messages %><%= f.label :name %>
<%= f.text_field :name %><%= submit_tag 'Add role' %>
<% end %> <%= link_to 'Back', roles_path %>

