Как написать оператор Ruby "if" в HAML - PullRequest
0 голосов
/ 28 января 2020
- entries.each do |entry|
    - if !isOpen
      - columnClass = 'col-1'
    - if entry[:variant] == 'medium'
      - columnClas = 'col-2'
    - if entry[:variant] == 'larg'
      - columnClas = 'col-3'
    %div{:class => "GridTeaserArea--column #{columnClass}"}
      = component 'GridTeaser', entry

Ответы [ 2 ]

1 голос
/ 28 января 2020

- isOpen = false
- entries.each do |entry|
	- if !isOpen
		- columnClass = 'col-1'
		:ruby
			if (entry[:variant] == 'medium')
				columnClass = 'col-2'
			end
			if (entry[:variant] == 'larg')
				columnClass = 'col-3'
			end
	    = "<div class='GridTeaserArea--column #{columnClass}'>"

	= component 'GridTeaser', entry
1 голос
/ 28 января 2020

Вы были близки, вам просто нужно больше отступов с if и перестановкой.

- entries.each do |entry|
    - if !isOpen
      - columnClass = 'col-1'
    - if entry[:variant] == 'medium'
      - columnClas = 'col-2'
    - if entry[:variant] == 'larg'
      - columnClas = 'col-3'
    %div{:class => "GridTeaserArea--column #{columnClass}"}
      = component 'GridTeaser', entry

Измените код в соответствии с логикой c, которую вы имеете в виду. Я пытался показать, как использовать условное if внутри HAML. Вывод кода может не соответствовать вашему желанию, так как он не указан, я не пытался это предположить.

Пожалуйста, прочитайте учебник HAML , чтобы освоиться с HAML.

...