Haml: Bekerja dengan Cairan

Dibuat pada 4 Jun 2010  ·  8Komentar  ·  Sumber: haml/haml

Setiap kali saya mencoba merender Liquid, saya mendapatkan kesalahan is_haml? pada objek/model. Apakah ada semacam pengaturan kompatibilitas untuk memungkinkan Liquid dan HAML berjalan berdampingan?

Terima kasih!

Komentar yang paling membantu

@dewski - Saya mengalami beberapa masalah dengan ini ketika mencoba memanfaatkan ActionView Helpers dalam Filter Cair kustom.

Contoh:

module LiquidFilters

  include ActionView::Helpers::TagHelper
  include ActionView::Helpers::UrlHelper

  def mailto(address, name = nil)
    mail_to(address, name, :encode => "javascript")
  end

end

Liquid::Template.register_filter(LiquidFilters)

Saya kemudian menerima kesalahan berikut ...

Liquid error: undefined method `is_haml?' for #

Perbaikan sederhana adalah dengan menyertakan Haml::Helpers dalam modul...

include Haml::Helpers

Tidak yakin apakah ini berlaku sama sekali untuk situasi Anda.

Salam Hormat,
David Baldwin

Semua 8 komentar

Haml mendefinisikan metode Object#is_haml? untuk menentukan apakah konteks template saat ini adalah Haml. Saya kira mungkin objek konteks Liquid tidak mendefinisikan ini di suatu tempat ... dapatkah Anda memberi saya tarball dari aplikasi Rails minimal yang menunjukkan masalah ini?

@dewski - Saya mengalami beberapa masalah dengan ini ketika mencoba memanfaatkan ActionView Helpers dalam Filter Cair kustom.

Contoh:

module LiquidFilters

  include ActionView::Helpers::TagHelper
  include ActionView::Helpers::UrlHelper

  def mailto(address, name = nil)
    mail_to(address, name, :encode => "javascript")
  end

end

Liquid::Template.register_filter(LiquidFilters)

Saya kemudian menerima kesalahan berikut ...

Liquid error: undefined method `is_haml?' for #

Perbaikan sederhana adalah dengan menyertakan Haml::Helpers dalam modul...

include Haml::Helpers

Tidak yakin apakah ini berlaku sama sekali untuk situasi Anda.

Salam Hormat,
David Baldwin

Saya pikir ini akan melakukan apa yang saya butuhkan, saya akan menguji ini dan menghubungi Anda kembali. Terima kasih!

Terima kasih David, itu memperbaiki masalah. Saya membiarkan ini terbuka untuk melihat bagaimana Nathan ingin menangani ini. Haruskah Haml memeriksa untuk melihat apakah Liquid didefinisikan, jika demikian, sertakan?

Penanganan khusus untuk Liquid bukanlah cara yang tepat untuk dilakukan di sini. Kami masih perlu mencari tahu masalah mendasar dan memperbaikinya. Saya masih ingin repro aplikasi Rails jika memungkinkan.

Ini adalah aplikasi barebones yang seharusnya menghasilkan masalah untuk Anda ...

git clone git://github.com/baldwindavid/liquidhaml.git
cd liquidhaml
rake db:setup
script/server

Tampilan "Tampilkan" dari satu-satunya pos akan menampilkan kesalahan. Kemudian lihatlah...

config/initializers/liquid.rb

Membatalkan komentar include Haml::Helpers akan membuat filter berfungsi seperti yang diharapkan.

Contoh ini menggunakan Rails 2.3.5 dan permata berikut...

config.gem "haml", :version => "3.0.4"
config.gem "liquid", :version => "2.0.0"

Beri tahu saya jika Anda membutuhkan tambahan. Terima kasih.

Salam Hormat,
David Baldwin

Menutup masalah ini sebagai basi. Jika ada yang masih terpengaruh olehnya, beri tahu saya dan saya akan membuka kembali.

Terima kasih @baldwindavid . menambahkan termasuk Haml::Pembantu menyelesaikan masalah.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat