2011-09-29 19 views
10

Özel yöntemlerimi, "asset_path" helper ile yapılan Rails gibi css dosyaları gibi varlıklarıma nasıl ekleyebilirim?Raylar 3.1 varlık boru hattına özel yöntemler ekleyin?

Rail kendi yardımcısı ile

, bunu yazabiliriz:

# some.css.erb: 

<%= asset_path 'a_image.png' %> 

# How can I write this: 

<%= my_custom_method 'a_image.png' %> 

Ben birçok yol denedim ama buna iyi bir yol bulmuş değil. Biliyor musun?

Teşekkür

cevap

18

buldum iyi yolu uygulaması/yardımcıları özel bir yardımcı modülü yaratmaktı

module Sprockets::Helpers::RailsHelper 
    require Rails.root.join('app', 'helpers', 'assets_helper.rb') 
    include AssetsHelper 
end 

Ve daha iyi bir yol bulmak için bu konuyu sonra meydana gelebilecek: i çok Heroku üzerinde çalışacak umut eklerseniz https://github.com/rails/rails/issues/3282

0

Normal yardımcı yöntemler varlık görünümlerinde kullanılamaz. Size kendi yöntemleri eklemek için Sprockets yardımcı modülünü genişletmeniz gerekir. Bunu nasıl yapabileceğinizi görmek için yerleşik yardımcıların bir look at the code var. Özetle lib ile aynı yapıya sahip bir dosya ekleyebilir ve kendi yöntemlerini ekleyebilirsiniz. Uygulama başlatıcısındaki yeni kütüphaneyi dahil etmeyi unutmayın. Uygulamalarınız yapılandırma (çok alt) sonra,

module AssetsHelper 
    def my_custom_helper_method 
    # do something 
    end 
end 

Sonra application.rb bu gibi gerektirecek:

+0

. Cevap için teşekkürler. Bu benim için de bir seçenek oldu. belki de rayları kaldırmalı ve bu özelliği kendim eklemeliyim. –

İlgili konular