2009-08-30 38 views
5

Son 20% 'inde tecrübeli bir programcıyım ama Ruby ve Ruby on Rails için tamamen yeni.Ruby on Rails

RoR, özellikle CRUD işlemleri için otomatik ekran oluşturma işlemini hızlı bir şekilde halletmek için harika görünüyor.

Gerçekten hızlı bir şekilde üretken olmanızı sağlar.

Sorularım, başvurumu bitirmem gerektiğinde, çalışmanın son% 20'siyle ilgilidir. RoR kuralları benim yolumda değil mi? Çünkü her veritabanı tablosu tüm kullanıcılar için mevcut olmamalıdır ve tüm kullanıcılar tüm sütunları ve/veya tüm satırları düzenleyemezler ve görünümler sitemin görünümüne ve hislerine göre uyarlanmalıdır.

RoR anladım. Canlı yayınlarda başarılı bir şekilde kullanılmış, ancak birinci fazın yanmasından sonra yerçekiminden kaçmak için RoR'da tam olarak ne kadar hız kazanıyorsunuz?

+7

En azından örneklerinden yola çıkarak "benim için çalışmama" ile kafa karıştırıcı gibi görünüyorsunuz. (Sitenizin görünümü ve hissi ile çalışmak için görünümler tasarlamanız gerekiyor? Bu, Rails'in sizin için nasıl bir örnek oluşturuyor?) – Chuck

+0

İyi nokta, Chuck. –

cevap

7

Scaffolding'in% 80'ini aldığını sanmıyorum. İskele, Rails parçalarının birbirine nasıl uyduğunu göstermesi açısından güzel bir şey ama ben de uygulamamı iskele kodundan kurtaramam. Artık iskele tarafından etkilendiğinize göre, tüm bunları unutmanız en iyisidir. :) Raylar gerçekten zihnimde parlar

database migrations olduğunu ActiveRecord ne kadar dinamik awesomeness ve eklenti ekosistem. Rails ile gitmeye karar verirken öğrenilecek çok şey var. Yeni bir dile, yeni çerçeveye ve yeni eklentilere sahipsiniz - ancak bu şeyleri öğrenmek için zaman ayırırsanız Rails ile çok verimli olabilirsiniz.

+6

Oh, geez, dalga geçme. İskele, tam bir uygulamanın yakınında herhangi bir yere götürmek için * kasten yapılmadığı anlamına gelir. +1 – Chuck

+0

İskele kullanırım, ancak sadece özelleştirilmiş jeneratörler kullanırım. –

1

RoR kuralları benim yolumda değil mi? değil her veritabanı tablosu tüm kullanıcılar için kullanılabilir olmalıdır, değil tüm kullanıcılar, tüm sütunları düzenleyebilir ve/veya tüm satırları, ve görünümler sitemin görünüm adapte olmalı ve hissedebilirsiniz Çünkü vb

Bu, bir miktar olmayan sekanstır. Raylar, gerçek dünya uygulamalarından kaldırılmış bir çerçevedir. Bu uygulamalar, tüm bu meselelerle ve henüz düşünmemiş olabileceğiniz diğerleriyle de uğraşmak zorunda kaldı. Genel olarak, sözleşmeler öğrendikten sonra hayatı kolaylaştırır. Bir başka nokta da, konvansiyonların sadece konvansiyonlar olmasıdır. Onları takip etmek zorunda değilsin. RoR'u her şey için kullanmanız bile gerekmiyor, ancak henüz yapmadığım/yapamadığım bir durum bulamadım, genellikle DB veya önbellek katmanlarını olabildiğince çok zorlamaya çalışıyorum.

5

Bir süreliğine raylarda ruby ​​yapıyorum. 80/20 sorunu, raylar için benzersiz değildir. Genel olarak tüm dünyaya uygulanır. Ayrıca, sizin için sadece iş mantığı yaratan herhangi bir çerçevenin farkında değilim. Belirli sorularınızı yanıtlamak için. Sözleşmeler,% 20 oranındayken yolunuza çıkmayacak. Bunun yerine, sözleşmeler% 20 daha hızlı geçmenize yardımcı olacaktır.

Şahsen, kullanıcı kimlik doğrulaması için Authlogic kullanıyorum. Kullanıcı yetkilendirmesi için müşteri ihtiyacına bağlı olarak Kilitleme veya Yetkilendirme eklentisini kullanıyorum.

Ayrıca, denetleyici kodunu basitleştirmek için projelerimin çoğunda inherited_resource'u da kullanıyorum. Bu başka bir kongre gücü.

Gelişim hızını arttırmak için sadece Rayları bilmeniz gerekmeyecek, aynı zamanda sizin için doğru şeyleri yapan taşlar/eklentiler raylara bağlanmayacak, böylece tekrar tekerlekleri yeniden keşfetmeniz gerekmez. Ayrıca, Ruby dilini bilmek, hızla% 80'in ötesine geçmek için bir zorunluluktur.

Ruby Toolbox, belirli etki alanlarını hedefleyen tipik raylar projelerinde kullanılan en popüler mücevher ve eklentileri içerir. İlgili kategorilere göz atabilir ve çoğu insanın ne kullandığını bilirsiniz. (Ve popüler, bakımlı taşların kullanılması iyi bir fikirdir)

TDD/BDD stili geliştirme ayrıca uzun vadede hızlanmanıza yardımcı olacaktır.

Son olarak, bir uyarı: Eğer raylar sözleşmesinden uzaklaşırsanız, genel olarak acı verici bir zaman geçireceksiniz.

P.S. Merb'i daha önce kullandım. Benim hislerim, bu konvansiyonların merb'de size yardımcı olduğu, ama onları merb'de izlemedikleri için çok fazla ceza almayacaksınız. Ancak, Rails deneyimim raylar uygulaması geliştirirken raylar konvansiyonu izlememeye karar verirseniz, size bir şekilde ısırmak için geri gelecektir! Bu yüzden iki kez düşünün, gerçekten de raylı konvansiyonlardan uzaklaşmaya çalıştığınız zaman ... (Bu kendi deneyimimden ve tabii ki sübjektiftir, ama bunu bir uyarı olarak düşünebilirsiniz ...)

0

Rails sözleşmeleriyle ciddi bir sorun yaşayacağınıza inanıyorum. Sadece kurallara bağlı kalın ve RoR sistemine güven. Rails'in arkasındaki insanlar, ortak kullanım senaryolarının% 99'unu desteklemek için bu sözleşmelere çok çaba sarf ettiler.

Düzenlemelerin dışında bir şey yapmanız gerekiyorsa, sonuçta oldukça hızlı bir şekilde karmaşıklaşacaktır. Ancak, yalnız değilsiniz. Yardım almak için ağda bir sürü mükemmel kaynak var (örneğin StackOverflow topluluğu).

O Özetle: