我要根據病情的CSS類分配給HTML的一部分苗條琅超薄郎的if-else嵌套代碼
我做了以下
- if current_user
.title
- else
.title_else
現在,我怎麼編寫應嵌套在上述類中的HTML?我是否需要在if
條件和else
條件下編寫HTML?
原因是應嵌套在上面的類之一的HTML應進一步向右。但是,如果我打算更進一步,它包括在其他條件下。現在我怎麼接觸這個問題?
我要根據病情的CSS類分配給HTML的一部分苗條琅超薄郎的if-else嵌套代碼
我做了以下
- if current_user
.title
- else
.title_else
現在,我怎麼編寫應嵌套在上述類中的HTML?我是否需要在if
條件和else
條件下編寫HTML?
原因是應嵌套在上面的類之一的HTML應進一步向右。但是,如果我打算更進一步,它包括在其他條件下。現在我怎麼接觸這個問題?
這裏是一個班輪:
.thing class=(current_user ? 'large-menu' : 'medium-menu')
h4 Same content, different class
1)是的,你需要在創建的div中寫入HTML,因爲你希望它不同。如果你不希望它有所不同,那麼不需要if
聲明!
2)我真的不明白你的意思,但是這個代碼工作完美的罰款與我:
- if true
.title
h4 True is true!
- else
.title_else
h4 True is not true!
此代碼顯示了div
一類的.title
和與文本True is true!
一個h4
裏面。
編輯:好吧,現在我明白你的意思了!這是不是可能做這樣的事情,因爲它不會呈現h4!
- if true
.title
- else
.title_else
h4 Same content, different class
我建議你寫一個幫手,它允許你渲染的諧音,然後就渲染部分從兩個條件內。這意味着你只需要寫一個部分並調用它兩次。
- if true
.title
= render 'footer'
- else
.title_else
= render 'footer'
我問題,如果block和else塊都有相同的代碼塊。我只是想根據條件應用不同的課程。有沒有更好的方法來避免重複的代碼? – nik7
既然你只是兩個屬性之間切換,Tiago Franco's answer是你的目的肯定是足夠了。但是,還有另一種方法可以派上用場。
您可以使用capture
將HTML呈現爲局部變量,然後將該內容嵌入到您喜歡的任何控制結構中。所以,如果您的包裹內容是一個複雜一點,你可以這樣做:
- shared_content = capture do
div This is displayed regardless of the wrapper
- if current_user
| You're logged in!
.title
= shared_content
- else
| You're not logged in!
.title_else
= shared_content
我會經常使用這一個環節來包裝內容,如果有可用的網址:
- image = capture do
img src=image_url
- if url.blank?
= image
- else
a href=url = image
非常好。插值是不需要的。 '。class class =(true?'large-menu':'medium-menu')' – obfk