4 Stimmen

Wie testet man mit RSpec ein Rails-Plugin mit "link_to" und "current_page?"

Ich schreibe ein Rails-Plugin, das ein Menü in einer Ansicht aufbaut. Ich bin mit link_to um die Verbindung herzustellen und current_page? zum Einstellen class="active" auf der aktuellen Seite.

Ich habe include d ActionView::Helpers::UrlHelper so kann ich link_to .

Um die current_page? in der Ansicht zu arbeiten, musste ich die aktuelle Klasse erben (anscheinend ActionView::Base ) und es funktioniert perfekt. Leider bricht dies völlig die Tests mit RSpec.

Ich rufe an link_to y current_page? このように

def menu(options = {}, &block)
  carte = my_menu.new(self)
  yield carte
  carte.to_s unless carte.empty?
end

class my_menu
  include ActionView::Helpers::TagHelper
  include ActionView::Helpers::UrlHelper

  def initialize(base)
    @base = base
  end

  def link
    @base.link_to(name, url_options, html_options)
    @base.current_page?(url_options)
  end
end

Und ich bekomme diesen Fehler mit RSpec: Undefinierte Methode `link_to' für #< Spec::Rails::Example::RailsExampleGroup::Subclass_1:0x24afa90>

Haben Sie einen Hinweis?

8voto

Otto Punkte 17559
include ActionView::Helpers::UrlHelper

In Ihrer Spezifikation sollte das Problem gelöst sein. Oder in Ihrer spec_helper.rb. Ich denke, dies ist im Grunde, was Ansicht specs standardmäßig tun.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X