2013-05-04 25 views
7

Có cách nào để viết tuyên bố trường hợp trong Slim cho ví dụ sau không. Tôi đã thực hiện một số thay đổi cho câu hỏi StackOverflow: How to write a switch statement in RubyTuyên bố về trường hợp trong Slim

case a 
when 1..5 
    = "It's between 1 and 5" 
when 6 
    = "It's 6" 
when String 
    = "You passed a string" 
else 
    = "You gave me #{a} -- I have no idea what to do with that." 
end 

Tôi đã thử các sau nhưng tạo ra một lỗi.

= case @taxon.name 
    = when "Wedding Cakes" 
    div.taxon-descripiton Wedding Cake Description 

Đây là những gì tôi đang nói với

... syntax error, unexpected tIVAR, expecting keyword_when 
; @output_buffer.safe_concat(("<when>\"Weddin... 

Trả lời

9

= được sử dụng khi bạn muốn làm một cái gì đó, khi bạn muốn gọi một số logic ruby ​​mà không cần dựng bất cứ điều gì trong một cái nhìn bạn nên sử dụng -:

- case @taxon.name  
    - when "Wedding Cakes"  
     div.taxon-descripiton Wedding Cake Description 

Tôi không chắc chắn điều này sẽ giải quyết được vấn đề của bạn, mặc dù bạn đã cân nhắc chuyển logic này sang trang trí chưa?

+0

Tôi không chắc chắn người trang trí là gì, tôi cũng không tìm thấy bất kỳ Trang trí trang trí nào trong trang web, bạn có thể cho tôi gợi ý hay không. Tôi chỉ tò mò muốn biết. Tôi sẽ thử nó và nếu nó hoạt động như một câu trả lời. Cảm ơn sự giúp đỡ tuyệt vời! –

+0

Tuyệt vời nó hoạt động! Nhưng bạn có tử tế để nói cho tôi biết 'người trang trí' là gì không? –

+2

Một trang trí chỉ là một cách khác để trích xuất logic từ các quan điểm để giữ chúng sạch sẽ, nếu bạn muốn bắt đầu với chúng tôi đề nghị bạn hãy xem đá quý draper https://github.com/drapergem/draper. Có một tuyến đường sắt ở đâu đó để tìm hiểu những điều cơ bản là tốt. :) –