22-01-2013, 07:51 PM
(Modification du message : 22-01-2013, 08:37 PM par Sephi-Chan.)
C'est pas plus simple en terme de code (dans ce cas précis), mais plus simple en terme de concept :
Comme ça, les ramifications sont plus simples. A chacun sa responsabilité, et les hippopotames seront bien gardés !
Dans le code, les
À côté de ça, tu pourrais virer le titre qui est une responsabilité de la vue.
Et au final, c'est plus propre à tous les niveaux.
Qu'en penses-tu ?
- Tu sais que l'action
new
est toujours appelée en GET, sans paramètre.
- Tu sais que l'action
create
est toujours appelée en POST, avec des paramètres pour créer un utilisateur.
Comme ça, les ramifications sont plus simples. A chacun sa responsabilité, et les hippopotames seront bien gardés !
Dans le code, les
if
sont des sources de complexité qu'il faut limiter.À côté de ça, tu pourrais virer le titre qui est une responsabilité de la vue.
class UsersController < ApplicationController
def new
@user = User.new
@user.build_hero
end
def create
if @user = User.create(params[:user])
redirect_to root_path
else
render 'new'
end
end
end
# app/views/users/new.html.haml
- content_for :title, t('users.sign_up')
# app/views/layouts/application.html.haml
%title
Mon jeu qui poutre —
= yield(:title) || t('application.default_title')
Et au final, c'est plus propre à tous les niveaux.
Qu'en penses-tu ?