2015-01-22 11 views
5

Durante la migrazione di un'applicazione da Rails 2.3.17 a 3.2.21.. Siamo di fronte a un problema con l'helper di modulo legacy di Rails link_to_remote durante il test con MiniTest.metodo indefinito `link_to_remote 'in MiniTest per application_helper test

Nella versione precedente di rotaie abbiamo utilizzato link_to_remote forma di supporto che viene rimosso in Rails 3. Per fornire il supporto abbiamo aggiunto prototype_legacy_helper plug nella nostra applicazione, che funziona bene in UI ma i test per questo non funziona e genera un errore come indicato di seguito:

NoMethodError: undefined method `link_to_remote' for #<ApplicationHelperTest:0xc800dd4> 

Questo è il nostro codice all'interno ApplicationHelper

def reservation_menu_command_link(command, *args) 
    ... 
    command_link = link_to_remote(anchor_text,options = {}, {:class => style_class}) 
    ... 
end 

Questa è la nostra ca di prova SE per application_helper prova

def test_reservation_menu_command_link 
    options = { :lodging_view => lv} 
    assert_equal(%q{xyz}, reservation_menu_command_link(:cancel_all_possible, options)) 
end 

Così si può vedere che abbiamo un metodo reservation_menu_command_link e l'abbiamo utilizzato all'interno della nostra interfaccia utente che funziona bene, ma prova per questa definizione non riesce.

Qualcuno può aiutarmi a risolvere questo comportamento del plug-in?

+0

Hai risolto questo problema? Potresti aggiungere le informazioni dal tuo 'Gemfile'? – RPinel

+0

Sì, questo problema è risolto. Non conosco la soluzione esatta. Sto usando ** gem 'prototype_legacy_helper', '0.0.0',: git => 'git: //github.com/rails/prototype_legacy_helper.git'** per gli helper di Rails legacy. Se ricevo una soluzione adeguata, la pubblicherò come risposta. –

risposta

1

link_to_remote è stata sconsigliata tra le rotaie 2 e 3 l'uso corretto in questi giorni è

link_to 'Foo', { action: 'create' }, remote: true. Speriamo che questo aiuti