2016-10-05 3 views
0

ヘルパーモジュールにカスタムフォームビルダーメソッドがあります。Rspec 3 viewスペックカスタムヘルパーの定義されていないメソッド

module MediaHelper 
    class CustomFormBuilder < ActionView::Helpers::FormBuilder 
    ... 
    end 

def custom_form_for(data, *args, &proc) 
    options = args.extract_options! 
    form_for(data, *(args << options.merge(builder: 
    MediaHelper::CustomFormBuilder)), &proc) 
end 
end 

それはRSpecの3のビューの仕様を壊し、私はレンダリング

です上の

ActionView::Template::Error: undefined method custom_form_for' for #<#<Class:0x007fea32454ce0>:0x007fea34064f98>

エラーメッセージが表示されます。しかし、これは<= custom_form_for(media) do |f| %>

とビューで動作しますヘルパーを含めることは可能ですか?

+0

このエラーはどのように表示されますか?あなたが仕様を実行するとき? – Surya

+0

はい、仕様を実行すると、ビューがレンダリングされ、このエラーが受信されます。 –

答えて

2

カスタムヘルパーは、私の場合はビューの仕様でhelper(<module>)

とビューの仕様に含めることができます:renderは仕様で呼び出されると

RSpec.describe 'media_items/new', type: :view do 
    helper(MediaHelper) 
end 

、それは正しく<= custom_form_for(media) do |f| %>でビューをレンダリング

関連する問題