2014-10-02 33 views
8

middleman console'u nasıl kullanacağımı bilmek istiyorum. Bu basit bir irb mı? Bununla basit irb'den farklı olan ne yapabilirim?aracı konsol: nasıl kullanılır?

middleman console [options]   # Start an interactive console in the cont... 

Ben bazı makaleler var ve Article.all yapmaya çalışacağım ama bu şu hata vardı:

NameError: uninitialized constant Middleman::Application::MiddlemanApplication1::Article 
    from (irb#1):1 

ve ben de çok local-data/data/friends.json ama Friend.all çıkış hata var.

{ 
    "friends": [ 
    "Tom", 
    "Dick", 
    "Harry" 
    ] 
} 

Ben aracı değişken ve fonksiyonların olduğu Symbol.all_symbols çıkışı sürü gördüm ama gerçekten aracı konsolunu nasıl kullanılacağını bilmiyorum.

+0

Bu tür bir şeye [cevabı bulmak için Pry'yi kullanın] (https://andrew.kvalhe.im/use-pry-as-the-middleman-console/) kullanmayı seviyorum. –

cevap

8

Ah adamım, bir aracı konsolun olduğunu bilseydim, çok daha hızlı bir şekilde gitmiş olacak bir şeyi çözmeye çalışırken birkaç saatimi harcıyorum!

Blogumdaki makaleleri incelemek için bir sonraki/geri mantığını oluşturmaya çalışıyordum. Kronolojik bir şey var, ama ben de etiketler üzerinde ileri geri gitmek istedim. Her iki etiket için de "ruby" ve "demek" "raylar" etiketli bir kaç tane var ve her iki etiket için de "bir sonraki" aynı etiket altında her ikisini de listelemek istedim.

Asıl sorun, şablon dosyasında ne tür şeylerin bana uygun olduğunu bilmiyordum. middleman console'u başlattığınızda, sitenizin yapılandırmasını yükler, böylece etrafta dolaşmaya başlayabilirsiniz.

$ bundle exec irb 
2.0.0-p481 :001 > blog 
NameError: undefined local variable or method `blog' for main:Object 
from (irb):1 
2.0.0-p481 :002 > exit 
$ middleman console 
== LiveReload is waiting for a browser to connect 
2.0.0-p481 :001 > blog 
=> #<Middleman::Blog::BlogData: [#<Middleman::Blog::BlogArticle: {"title"=>"Emb 

vb aracı ortamını yüklemek ve daha sonra mevcut Middleman::Application nesne üzerinde yöntemleri çağırmak sağlayan neyi aracı konsol

. Eğer bir aracı uzantısı kullanıyorsanız ve yardımcıları tanımladıysanız, onlara buradan ulaşabilirsiniz ve etrafta dolaşmaya başlayabilirsiniz.

Handy şeyler:

config aracı yapılandırma nesnesidir.

data

Eğer aracı-Blog-kullanıyorsanız

drafts, taslak eşya olan aracı-blog kullanıyorsanız veri dizininin

blog blog yapılandırma olduğunu, aracı veri nesnesidir taslaklar

+0

Son olarak ... bir cevap! Çok teşekkür ederim. ['Config', 'data', 'blog', 'draught'] ile ilgili tüm bilgileri bulduğum bağlantıyı öğrenmek istiyorum [dokümanlar] 'a bakıyordum (http://www.rubydoc.info/github/middleman/middleman/Middleman/Cli/Console) ve bu nesneler hakkında bilgi bulamadım. Ben raylar gibi düşünüyordum ve 'Articles.all' yapmak için çalıştı aslında 'blog.articles' –

+0

denedim gerektiğini işaret gibi aslında (Buraya yeni çizgiler kullanamıyorum sanırım) 'Arabirim konsolu 'başlatın ve rastgele bir yöntem yazın. Bir hatayla karşılaşırsınız: '# Middleman :: Application: 0x70328389148900> için tanımlanmamış yerel değişken veya method 'this_is_not_a_method'. 'Kendini.class', 'Middleman :: Application :: MiddlemanApplication1' i döndürür, böylece bu bağlamdasınız. Temel olarak bu, tüm yardımcı yöntemlerin konsolda size sunulduğu anlamına gelir. 'site haritası' örneğin aracı site haritasına dönecektir. –

+0

I ('Yardımcılarının bölümün içinde tanımlanmıştır) o bana söyler 'NoMethodError aracı işlevlerini kullanmaya çalıştığınızda: # için tanımsız yöntem' tags_to_mi' '. Neden fonksiyonlara erişemediğim hakkında bir fikrin var mı? [Bu iş parçacığı istediğim şey ama cevap benim için çalışmıyor] (http://stackoverflow.com/questions/42144577/how-can-helpers-be-accessed-from-middleman-console) –

İlgili konular