我在 Rails 应用程序中使用acts_as_commentable来允许评论不同类型的模型。
我有一个多态的CommentsController
ala多态协会 Railscast。
我正在尝试为此控制器编写规格;但是,我想使用acts_as_fu来定义一个通用Commentable
类,供控制器在规范中使用。这样它就不会与我们的具体可评论模型之一绑定。
Commentable
问题是,当我尝试测试控制器操作时,我收到路由错误,因为我使用acts_as_fu 创建的类没有路由。
我需要一种方法来在规范中为这个动态创建的模型绘制路线before(:all)
(顺便使用 RSpec)。
这是我的规范到目前为止的样子:
describe CommentsController do
before(:all) do
# Using acts_as_fu to create generic Commentable class
build_model :commentable do
acts_as_commentable :comment
belongs_to :user
attr_accessible :user
end
# TODO - Initialize Commentable routes
end
end
更新:找到了一个“hacky”解决方案。我想知道是否有更清洁的方法可以做到这一点。