ネストされたルートがあります:
resources :period_registrations do
member do
post :save_period
end
それは私のコントローラーのアクションを指しています:
def save_period
@period_registration = PeriodRegistration.new(params[:registration])
@period_registration.save
redirect_to root_path
end
そして私はテストをしています:
test "should get save_period" do
sign_in(FactoryGirl.create(:user))
assert_difference('Event.count') do
post :save_period, period_registration: FactoryGirl.attributes_for(:period_registration)
end
assert_not_nil assigns(:period_registration)
assert_response :success
end
実行すると、次のエラーが発生します。
1) Error:
test_should_get_save_period(PeriodRegistrationsControllerTest):
ActionController::RoutingError: No route matches {:period_registration=>{}, :controller=>"period_registrations", :action=>"save_period"}
私には奇妙に見えるのは、:period_registrationが空であるということです。すべきですか?どうすればこれを解決できますか?