我要根据病情的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