1

私はforem rails エンジンを使用していますが、(rspec によると) 使用しようとしているルートが見つからないため、rspecリクエストスペックを書くことができません。POSTリクエスト仕様を使用して、トピックへの返信を作成するリクエストを作成したいと考えています。

リクエスト仕様の以下は機能しません。

post "/forums/topics/#{topic.to_param}/posts", :post => { 'text' => 'reply' }

で失敗します

No route matches [POST] "/forums/topics/first-topic/posts"

見た目は次のとおりです: rake routes from spec/dummy:

Routes for Forem::Engine:
  POST   /topics/:topic_id/posts(.:format)     forem/posts#create

ウェブサイトから投稿を作成する際のログ

Started POST "/forums/topics/welcome-to-forem/posts" for 127.0.0.1 at 2013-08-19 22:23:47 +0800
Processing by Forem::PostsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"vnzhdaRDTye1wM5eQEIAW8W/urG/18PJ02oPqcX3pK8=", "post"=>{"text"=>"asdf", "reply_to_id"=>"1"}, "commit"=>"Post Reply", "topic_id"=>"welcome-to-forem"}

要求仕様内の詮索好きなセッションから - パスが認識されていることを示していますがforem、ホスト アプリでは認識されていません。

> forem.recognize_path "/topics/#{topic.to_param}/posts", :method => :post
=> {:action=>"create", :controller=>"forem/posts", :topic_id=>"first-topic"}

> Rails.application.routes.recognize_path "/topics/#{topic.to_param}/posts", :method => :post
ActionController::RoutingError: No route matches "/topics/first-topic/posts"

トピックへの返信を作成するためのリクエスト仕様を作成するにはどうすればよいですか?

4

1 に答える 1