2011-02-16 12 views

cevap

26

Kullanım yardımcıları ve HTML böyle karmaşık bir bit inşa etmek gerekir: Bir sipariş işlemek istiyorsanız Örneğin, bu kod modelinde gitmeli <table> olarak. Veya, veritabanına bağlı olmayan bazı sunum verilerini değiştirmek isterseniz.

def truncate_html(html, options = {}) 
    options[:length] = 35 unless options[:length] 
    truncate(strip_tags(html), options) 
end 

Veritabanı nesneleriyle çalışırken modelleri kullanın ve iş mantığını basitleştirmek istiyorsunuz.

def one_day? 
    start_date.to_s[0,9] == end_date.to_s[0,9] 
    end 

İşte kılavuzlarında Yardımcıları var: http://guides.rubyonrails.org/form_helpers.html

Ve burada Modelleri var: http://guides.rubyonrails.org/active_record_querying.html

+0

"HTML karmaşık bit gibi bir" --- böyle bir ne kadar? – Mittenchops

+1

idi, ama ben <> ve < yerine <> kullandım - Yakalama için teşekkürler! –

+0

@ChuckBergeron Veya kod kullanımını göstermek için sadece backticks kullanın. Senin için tamir ettim. ;) –

3

Yardımcıları sadece

Modelleri modellenen nesneye ilişkin tek mantığı içermelidir görünümü için mantığı içermelidir işlemle ilgili hiç gerçekleştirildi ne görünümü O yardımcıları kullanmak en iyisidir

6

işlenmiş zaman kodu o yardımcı oluştururken sadece görüntüde gösterilmek isteniyor. HTML bağlantıları oluşturmak yardımcı yöntemler yapmak istiyorsanız Örneğin, onlar yardımcı gitmeli: kodunuzu iş mantığı

def easy_link user 
    link_to(user.name, user) 
end 

Eğer Modellerinizde gitmek gerekir. Modellerinize çok fazla iş mantığı koymayı da hedeflemelisiniz, bu kodu sizin görüş ve denetleyicilerinizde istemezsiniz. Eğer bir görünüm (şablonda) çalışıyorsanız

def process 
    raise NotReadyToProcess unless ready_to_process? 
    raise NotValidPaymentDetails unless valid_payment_details? 
    process_payment 
end 
İlgili konular