2012-06-02 17 views
8

Ich versuche, Ansichten auf die Schienen-Ansicht-Array, z.Wie Schienen Schienen Ansichtspfade in Schienen vorstellen 3.2 (ActionView :: PathSet)

prepend_view_path ("# {Rails.root}/app/views/custom/blah")

Dies funktioniert gut, aber in meinem Test-Suite halte ich

deprecation WARNUNG sehen: process_view_paths ist veraltet und wird von Rails 3.2 entfernt.

Nach ein wenig Forschung sehe ich Erwähnung von ActionView :: PathSet, kann aber keine Hilfe bei der Suche Google oder in der Rails API-Dokumentation finden. Ich muss wissen, wie man diese neue Art der Vorwegnahme in Schienen benutzt. 3.2

Ich möchte diese Warnung wirklich loswerden. Irgendwelche Gedanken?

+0

Rails 3.2.12 - ich keine Notiz über deprecation bekommen hat, weder in App Protokoll noch in rspec Ausgabe – Artur79

Antwort

21

Wenn es dynamisch ist (gesetzt auf einer Pro-Anfrage-Basis):

class ApplicationController < ActionController::Base 
    before_filter :set_view_path 

    def set_view_path 
    prepend_view_path "#{Rails.root}/app/views/custom/blah" 
    end 
end 

Ich denke, es zu AbstractController::ViewPaths ging, aber immer noch die von Controller - ohne deprecation sein sollte.

Wenn Sie prepend statisch festen Pfad:

# config/application.rb  
config.paths.app.views.unshift("#{Rails.root}/app/views/custom/blah") 
+0

hmm, das Problem ist, die Aussicht dynamisch und so muss ich dies zur Laufzeit tun. – Kirk

+0

oh, aber das ist einfacher warten –

+0

http://railscasts.com/episodes/269-template-inheritance –