[英]Rails one model - many controllers
我有一個Post
模型。 Post
可以是問題,答案或評論的一種(類似於StackOverflow結構)。 目前,控制器正在處理對CRUD任何類型的Post
請求。 有一個約定,即控制器在Rails中需要精簡,並且我的控制器似乎不遵循這一規則,因為在任何操作中都存在case語句(選擇和處理Post
類型)。 所以我的問題是:有沒有辦法重組或(甚至更好)划分Post
控制器來分別處理Question
, Answer
和Comment
,但是要使用常見的Post
視圖? 任何鏈接/示例將不勝感激。
您可以從另一個繼承一個控制器:
一種常見的控制器:
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
然后在每個控制器中:
class AnswersController < PostsController
self.model_class = Post
# here all specific methods
def create
...
end
end
以及您可以保留在文件夾posts
中的所有視圖,或保留在各自文件夾中的視圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.