我正在使用FriendlyId
gem,它会在保存记录时生成一个 slug。它工作得很好。
我可以像这样路由到蛞蝓:places/house-of-dead
,完美。但是我在测试时遇到了问题。
我FactoryGirl
用来存根我要创建的参数,但我不知道如何让生成的 slug 断言如果我的路由重定向到它,我的测试在下面和 ( ???? should be the generated slug
).:
context '#create' do
it 'should redirect to place after created' do
place = FactoryGirl.attributes_for(:place)
post :create, { place: FactoryGirl.attributes_for(:place) }
response.should redirect_to places_path(slug: ????)
end
end
我的控制器很简单:
def create
@place = Place.new(params[:place])
# setting up who owns this place
@place.user = current_user
if @place.save
flash[:success] = "Place created."
redirect_to @place
else
render :new
end
end
如您所见,我使用redirect_to @place
它会将我重定向到`place/:slug',但是在测试该重定向时,我该怎么做呢?
另外,我的测试方式是否正确/良好?
谢谢。