Blog Creators
Se ho taxbranch con slug_category “blog_creators” e un @post.taxbranch_id @taxbranch has_one post associato .
taxbranch controller lo uso in superadmin post in public per visualizzare show
così ho superadmin taxbranch e post associati public post show
solo che vorrei dare la possibilità di cambiare al posto di show
show.html.erb
le slug_category che non hanno uno show associato: mettere render “show/default”
@post.taxbranch.slug_category == “blog_creators”
mettere render “show/blog_creators”
come organizzo il tutto per tenere pulito il codice? che ne dici hai suggerimenti?
1) Variants per slug_category (consigliata)
Controller (public/posts_controller.rb) Imposta una variant in base a @post.taxbranch.slug_category, con default.
def show @post = Post.find(params[:id])
slug = @post.taxbranch&.slug_category.to_s request.variant = if slug.present? slug.parameterize.underscore.to_sym else :default end end
Views (app/views/posts/) Crea i template varianti solo dove ti servono:
app/views/posts/show.html.erb ← default (usato come fallback automatico)
app/views/posts/show.html+blog_creators.erb ← custom per blog_creators (Rails userà questo quando request.variant = :blog_creators)
Se domani hai un’altra categoria (es. events), basta aggiungere:
app/views/posts/show.html+events.erb
Pro:
Nessun if/else nelle view.
Fallback automatico al show.html.erb senza scrivere codice extra.
Struttura super pulita e “convenzionale”