多态显示许多项目

时间:2012-11-14 23:12:59

标签: ruby ruby-on-rails-3 ruby-on-rails-3.1 polymorphism

我正在尝试创建多态关系并展示它们。

这是我的关系

events
  has_many :comments, :as => :commentable
users
  has_many :comments, :as => :commentable
comments
  belongs_to :comments, :polymorphic => true

评论有以下模型

#  commentable_id   :integer
#  commentable_type :string(255)

现在,我的目标将显示在与事件相关的事件#index项目上,但也显示所有comments.description根据每个事件sorta跟随

*********************         *********************
Event.title                   Event.title
Event.description             Event.description
{Comment.body}                {Comment.body}   
...                           ...                     
**********************        **********************

等等。

这是我的控制器

def index
    @mosttop = Event.all[1..-1]
    @loc = @mosttop.comments
end

如果我这样做,但我得到一个未定义的位置。我想知道我做错了什么。此外,我的路线已经跟随

resources :events do
  resources :comments do
end

目前我还没有使用构建创建关系,而只是在链接event/1/comments创建它时

控制器已经跟随

  def create
    @comment = @commentable.comments.new(params[:comment])
    ...
   end

  private

    def load_commentable
      resource, id = request.path.split('/')[1,2]
      @commentable = resource.singularize.classify.constantize.find(id)
    end
  end

0 个答案:

没有答案