2011-08-03 20 views
5

döngüleri ile kırılıyor HAML kullanarak bir ray uygulaması (3.0.9) var, yerel geliştirme sunucusu iyi çalışıyor. BenRaylar üretim ortamı

%tr{:class=> cycle("even","odd")} 

:

NoMethodError: undefined method `[email protected]' for #<String:0x00000006331098> 

hata o (haml yazılmış görünümünden,) bu hat üzerinde olduğunu söylüyor: Ben küpeşte s -e üretimini çalıştırdığınızda Ama benim sayfası bu hata veriyor Bunun neden olduğu hakkında hiçbir şey bulmadım. Lütfen yardım et.

+0

Garip ... Bunu, 'thin' gibi gerçek bir üretim sunucusunda çalıştırmayı dener ve hangi sonuçları görürsünüz. Heroku'ya kadar zorlayabilir ve kolayca deneyebilirsiniz. – iwasrobbed

+0

İlk olarak Heroku'daki problemi buldum, daha sonra yerel olarak test etmeye başladım. –

+0

Yeniden yazmayı deneyin: '% tr {: class =>" # {cycle ('çift', 'tek')} "}' Farketmezsiniz, ancak kodunuz da olduğu gibi kırılmamalıdır . – iwasrobbed

cevap

1

cycle yöntemi, herhangi bir dizi birleştirme dizisi yapar mı?

Bu hata, bir kod incelemesi sırasında yakınlarda karşılaştım.

anObject.instance_method +string_var

instance_method değişken string_var mevcut dize değeri ile eklenecek olan bir dize dönüyordu:

kod böyle bir şey oldu. Bu kod değiştirme

anObject.instance_method + string_var # unary + yöntem string_var çağrılır alanı olmadan +

sonra boşluk Not çalışan, ancak hiçbir unary + yöntem String sınıfı tanımlanmıştır. Bu nedenle istisna.

unary + yönteminin def [email protected] olarak tanımlandığını unutmayın, bununla birlikte istisna mesajında ​​"Yöntem [email protected] bulunamadı" yazıyor.

Bu yüreğin açıkça ortaya koyuyor: https://gist.github.com/1145457

Neyse, senin durumunda, yöntem cycle muhtemelen doğru aralanması olmadan bazı dize birleştirme yapıyor (sizin tarafından tanımlanmış veya bir mücevher parçası olan olup olmadığını bilmiyorum) VEYA istisna backtrace doğru kod satırına işaret etmiyor.

Bu yardımcı olur umarım.

İlgili konular