2012-03-26 136 views
1

我有一个Post模型。 Post可能是一种问题,答案或评论(类似于StackOverflow结构)。现在,控制器正在处理请求以删除任何类型的Post。有一个约定,控制器在Rails中需要很细,而且我的控制器似乎没有遵循这个规则,因为在任何操作中都有case case语句(Post类型选择和处理)。所以我的问题:有没有办法重新组织或(甚至更好)将Post控制器分别处理QuestionAnswerComment,但使用共同的Post意见?任何链接/示例将不胜感激。Rails一个模型 - 许多控制器

回答

5

您可以直接从另一个继承一个控制器:

一个共同的控制器:

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,或那些不同于自己的文件夹

+0

谢谢,acce解决方案 – 2012-03-27 08:15:10

相关问题