itora web

17Nov/110

Creare un admin area in rails3 usando l’autenticazione scritta in devise

1)aggiungere il namespace "admin" in routes.rb, ed abbinarlo ai controller per i quali vogliamo l'autenticazione, in questo esempio "questions".

namespace :admin do
	match '/' => 'questions#index'
	resources :questions
end

2In views/layout creare il layout admin.html.erb specificando le parti che vogliamo mostrare nella sezione admin.
3) creare il controller admin_controller.rb in controllers/admin e utilizzare "autenticate_user" (vedere il tutorial su devise) per verificare che un utente sia loggato

class Admin::AdminController < ApplicationController
	layout "admin"
	before_filter :authenticate_user!
end

4) Sempre in controllers/admin, creare il file questions_controller.rb

class Admin::QuestionsController < Admin::AdminController
  def index
    @questions = Question.all
    respond_to do |format|
      format.html # index.html.erb
    end
  end
end

5)in views/admin creaimo la cartella "questions" e inderiamo tutte le views richieste dal controller controllers/admin/questions_controller.rb, in questo caso, solo il file index.html.rb
6
Le action dei form all'interno delle views in views/admin/questions devono rimandare ai controllers in controllers/admin/question controller. Quindi, sempre tenendo "question" come esempio da:

<%= form_for(@answer) do |f| %>

dobbiamo passare a

<%= form_for(:admin, @answer) do |f| %>
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

(required)

No trackbacks yet.