Web,ruby, Ajax ou qualquer outra coisa que me venha a cabeça (com prioridade para esta última)

05 março, 2006

ApplicationController.rb e Reutilização de Código

Os ficheiros dos helpers numa aplicação Rails devem ser usados para albergar código que se queira partilhar com vários ficheiros de vistas.

Quando queremos partilhar código entre controladores devemos colocar os métodos a partilhar em ApplicationController (app/controllers/application.rb). Não se pode esquecer tornar esses métodos privados de forma a não poderem ser chamados como acções.

Outra hipótese é colocar esses métodos num módulo e depois chamar esse módulo onde necessário como em:


# lib/login.rb
module Login
  def utilizador_actual
    # código para determinar utilizador actual
  end
end

# app/controllers/comments_controller.rb
class CommentsController < ApplicationController
  include Login

  def edit
    utitlizador = utilizador_actual
  end
end

Sem comentários: