どういうわけか、エラーが原因でリクエスト仕様が失敗する理由を理解できません:
引数の数が間違っています (1 に対して 0)
show メソッドで find_by_id を使用すると。
これが私の表示方法です
def show
@message = Message.find_by_id(params[:id])
# rest of code
end
これは私のリクエスト仕様です
require 'spec_helper'
describe "message pages" do
subject { page }
before do
@message = FactoryGirl.create(:message)
end
it "should show message page properly" do
visit message_path(@message.id)
page.should have_content(@message.content) # this fails as message path ends up with wrong number of arguments error
end
end
find_by_id() を find() に変更すると、すべて正常に動作します。404 エラーを発生させたくないので、find_by_id が必要です。代わりに、nil かどうかを確認し、ユーザーを適切なページに誘導します。