Personnellement, j'utilise la méthode 2.

Rapidement, je pense à une solution qui pourrait être faisable. On pourrait
utiliser des présenter comme ceci :

    <title><%= @presenter.try(:title) || "default title" %></title>

Si il y a un object `presenter` instancié, ça affiche le titre, sinon, on
affiche le titre par défaut. L’intérêt est que le présenter pourrait servir
à autre chose dans la vue.

Une autre solution serait ceci :

class ApplicationController < ActionController::Base
  def presenter
    @presenter ||= DefaultPresenter.new
  end
  helper_method :presenter
end

class DefaultPresenter
  def title
    "Default Title"
  end
end

class ControllerWithCustomTitle < ApplicationController
  #...
  def presenter
    @presenter ||= CustomPresenter.new(model)
  end
end

class CustomPresenter
  def initialize(model)
    @model = model
  end
  def title
    "Custom Title #{@model.title}"
  end
end

et dans la vue :

<title><%= presenter.title %></title>

Je n'ai jamais testé mais à première vue ça doit marcher. Je pense que
j'aime cette solution. Qu'en pensez-vous?

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .

Répondre à