2016-06-22 33 views
6

Sono appena passato la mia versione Rails da 4.2.6 a 5.0.0.rc1 e utilizzando RSpec versione 3.5.0.beta4.percorsi non sono definiti in specifiche helper

Il problema è; Ho un metodo che chiama root_path nel mio helper e i percorsi non sono definiti nelle specifiche dell'helper. Problema avviato dopo l'aggiornamento della versione.

Ricevo il seguente errore quando eseguo la mia specifica helper;

NoMethodError: 
     undefined method `root_path' for #<#<Class:0x00000002749080>:0x00000011f3e650> 

Ho provato ad aggiungere la seguente riga al mio assistente;

include Rails.application.routes.url_helpers 

Ma ora l'errore è il seguente;

NameError: 
     undefined local variable or method `default_url_options' for #<#<Class:0x00000001efa550>:0x0000001784ccd8> 

Come definire gli helper del percorso per le specifiche helper o default_url_options?

+0

Sto lottando con questo ora e tutte le risposte che ho trovato suggeriscono che devo impostare default_url_options in ambienti/*. Rb. Tuttavia, questo non funziona affatto e sono ancora perplesso. Preferirei evitare di codificare il percorso di cui ho bisogno, ma ci sto arrivando rapidamente. – jaydel

risposta

0

Questo potrebbe sembrare un bug con RSpec, una cosa che puoi fare nelle tue specifiche di supporto è aggiungere i metodi necessari da te.

describe MyHelper do 
    context "doing something" do 
    helper do 
    include Rails.application.routes.url_helpers 

    def default_url_options 
     {} 
    end 
    end 

    it "should work" do 
    expect(helper.run_it).to be_truthy 
    end 
end