Ist es eine schlechte Übung, eine CRUD-Aktion eines Controllers in einem anderen zu erstellen? Zum Beispiel haben wir zwei Modelle User
, Post
und die folgenden Controller:CRUD-Aktion eines Controllers in einem anderen
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def update_post #update action of PostsController
Post.find(params[:post_id]).uppdate_attributes(params[:post])
end
def create_post #create action of PostsController
@user = User.find(params[:id])
@user.posts.create(params[:post])
end
end
kann/soll ich so tun, oder gibt es einen besseren Weg? Der Grund, warum diese Aktionen nicht in ihrem eigenen Controller sind, ist, dass ich Beiträge auf der Benutzerseite manipulieren möchte.
Sie halten meine Tippfehler beheben überschrieben werden. Repariere sie dann selbst :) –
bitte klarstellen, da ich nicht in der Lage bin zu verstehen, als ob du über 'User' Aktionen 'update',' create' und 'Post' Aktionen' update', 'create' reden würdest. –
" Ist es eine schlechte Übung "- nun, es sieht sicherlich komisch aus. Was macht post-bezogene Funktionalität im Benutzer-Controller? Dies verletzt definitiv das Prinzip der geringsten Überraschung :) –