Tùy thuộc vào việc người dùng có đăng nhập hay không, tôi muốn in một loại% body-tag khác.Cách thực hiện if/else trong HAML mà không lặp lại mã thụt lề
Đây là cách tôi đang làm điều đó:
- if defined? @user
%body(data-account="#{@user.account}")
%h1 Welcome
-# all my content
- else
%body
%h1 Welcome
-# all my content
Như bạn có thể thấy có rất nhiều mã trùng lặp trong đó. Làm thế nào tôi có thể loại bỏ điều này? Tôi đã thử như sau:
- if defined? @user
%body(data-account="#{@user.account}")
- else
%body
%h1 Welcome
-# all my content
Thật không may, điều này không làm việc kể từ HAML diễn giải nó như nếu h1% và nội dung là một phần của người khác-tuyên bố, trong đó tất nhiên họ không.
Bất kỳ ý tưởng nào về cách giải quyết vấn đề này? Tôi chạy trong vấn đề này tất cả các thời gian, vì vậy tôi không thể tưởng tượng không có một giải pháp đơn giản cho nó.
Có phải nội dung '% body' thứ hai nằm trong' else' hay không? –
Có, nó nên. Nhưng% h1 và nội dung không nên. – Marc