url_for
Gem のヘルパー内で Gadget インスタンス (ダミー アプリのスタブ モデル)を呼び出すと、
undefined method `gadgets_path' for #<#<Class:0x007fe274bc1228>:0x007fe273d45eb0>
背景: gem をフォークして、いくつかの重要な変更を加えました。(これが forkです。) 今、rspec テストを機能させようとしているので、今後の更新を検証できます。
テストは、Rails エンジンのようにセットアップされ、spec
ディレクトリ内にダミーのアプリがあります。そのアプリには、適切なコントローラーとファイルGadget
で宣言されたリソースを含む 1 つのモデル ( ) があります。spec/dummy/environment/routes.rb
Dummy::Application.routes.draw do
resources :gadgets
end
ファイルは次のspec/spec_helper.rb
ようになります。
ENV["RAILS_ENV"] ||= "test"
require File.expand_path("../dummy/config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
RSpec.configure do |config|
config.mock_framework = :rspec
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
config.infer_base_class_for_anonymous_controllers = false
config.order = "random"
config.include Rails.application.routes.url_helpers
end
(実際には、プロジェクトの github リポジトリで完全なテスト セットアップを確認できます。私は実際に 1 週間ほど前にこのイシューを開いたのですが、今になってようやく解決しようとしています。)
保留されていない 1 つのテストは Gadget インスタンスを作成し、それを引数としてヘルパーを呼び出します。ヘルパーが を試行するとurl_for(@gadget)
、上記のエラーが発生します。
ここで何が問題なのですか?
ETA 12 月 04: 現在の で更新spec_helper.rb
。