簡體   English   中英

Rails一個模型-許多控制器

[英]Rails one model - many controllers

我有一個Post模型。 Post可以是問題,答案或評論的一種(類似於StackOverflow結構)。 目前,控制器正在處理對CRUD任何類型的Post請求。 有一個約定,即控制器在Rails中需要精簡,並且我的控制器似乎不遵循這一規則,因為在任何操作中都存在case語句(選擇和處理Post類型)。 所以我的問題是:有沒有辦法重組或(甚至更好)划分Post控制器來分別處理QuestionAnswerComment ,但是要使用常見的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM