Ich habe ein Post
Modell. Die Post
könnte eine Art Frage, Antwort oder Kommentar sein (ähnlich der StackOverflow-Struktur). Momentan verarbeitet der Controller Anfragen an CRUD mit einem beliebigen Typ von Post
. Es gibt eine Konvention, dass Controller in Rails dünn sein müssen, und mein Controller scheint diesem aufgrund der Case-Anweisungen (Post
Typenauswahl und Handhabung) in keiner Aktion zu folgen. Also meine Frage: gibt es eine Möglichkeit, zu reorganisieren oder (noch besser) zu teilen Post
Controller Question
, Answer
und Comment
getrennt zu behandeln, aber eine gemeinsame Post
Ansichten verwenden? Alle Links/Beispiele würden geschätzt werden.Schienen ein Modell - viele Steuerungen
1
A
Antwort
5
Sie können nur einen Controller von einem anderen erben:
Eine gemeinsame Steuerung:
class PostsController < ApplicationController
#here all the methods common for all types, if any
def new
@post = Post.new(:email => current_user.try(:email))
end
...
end
Dann in jedem Controller:
class AnswersController < PostsController
self.model_class = Post
# here all specific methods
def create
...
end
end
Und alle Ansichten, die Sie in den Ordner halten posts
, oder diejenigen, die in ihre eigenen Ordner anders sind
danke, acce pte Lösung –