À mesure que le nombre de pages du site augmente, la description du même contrôleur augmentera. Si vous utilisez des préoccupations à ce moment-là, la description sera plus claire et la lisibilité sera améliorée.
app/controllers/posts_controller.rb
class PostController < ApplicationController
before_action :set_posts
def set_posts
@posts = Post.all
end
end
app/controllers/users_controller.rb
class UserController < ApplicationController
before_action :set_posts
def set_posts
@posts = Post.all
end
end
Comme mentionné ci-dessus, il existe un processus commun appelé set_posts. Cependant, s'il y a un changement, les deux doivent être corrigés, ce qui est un problème. La façon de résoudre ces problèmes est d'utiliser les préoccupations.
Créez un fichier sous app / controllers / concerts. Cette fois, le nom du fichier sera "postable.rb".
app/controllers/concerns/postable.rb
module Postables
extend ActiveSupport::Concern
def set_posts
@posts = Post.all
end
end
Pour appeler chaque contrôleur
include postables
Il est décrit comme.
app/controllers/posts_controller.rb
class PostController < ApplicationController
include Postables
before_action :set_posts
end
app/controllers/users_controller.rb
class UserController < ApplicationController
include Postables
before_action :set_posts
end
C'est acceptable.
En faisant ces choses, même s'il y a une correction, vous n'avez besoin de la corriger qu'à un seul endroit, et vous pouvez répondre immédiatement même si une erreur se produit. Il est recommandé de l'utiliser car le manque de description conduit à la maintenabilité.
De plus, sur Twitter, les technologies et les idées qui n'ont pas été téléchargées sur Qiita sont également téléchargées, donc Je vous serais reconnaissant si vous pouviez me suivre. Cliquez ici pour plus de détails https://twitter.com/japwork
Recommended Posts