2011-06-27 30 views
7

Seçenekler şablon eyleminde ERB şablon altyapısına seçenekleri iletmenin bir yolunu arıyorum. Deto işlevi şablon işlevine geçme

Ben Thors şablon eylem böyle kullanılıyor bundler cli kaynağı tökezledi:

opts = {:name => name, 
    :constant_name => constant_name, 
    :constant_array => constant_array, 
    :author_name => author_name, 
    :author_email => author_email 
} 

template(File.join("newgem/Gemfile.tt"), 
      File.join(target, "Gemfile"), 
      opts) 

Ama Thor görevlerde bu gibi seçenekleri eklediğinizde ERB tarafından bulunmayan, ben sadece kullanabilirsiniz şablondaki değişkenleri ayarlamak için thor sınıfımdaki argümanlar ve fonksiyonlar.

Yakutun Ruby'de nasıl çalıştığı hakkında hiçbir fikrim yok, belki de ERB'ye bağlanarak bir kapsamı geçirmenin bir yolu var.

+0

Çalıştığınız Thor dosyanızda hangi kodu denediniz? – Dogbert

+0

Yukarıdaki kodu kopyaladım ve geçen seçenekleri yakalamadım. – devboy

cevap

10

Örnek değişkenleri kullanarak çalışmalıdır.

@name = name 
template("source","target") 

Benim şablon şöyle görünür:

<test><%= @name %></test> 

Bu benim için çalışıyor. Belirli değerlerin geçişini denemedim. Şablonun içine

Author email: <%= config[:author_email] %> 

eser author_email parametresini:

Bunu cevaplamak için herhangi bir belge, ancak Bundler CLI kaynağı okuyarak olamaz
11

, başvuru çalışıyormuş anlaşılıyor .

+2

Bu benim için de çalışıyor. 'Opts'' şablonuna geçirilen' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' – Kris

İlgili konular