1

嗨,你如何在 Ruby HAML 上实现这一点,我正在尝试做一个“每个都做”的代码,它将在同一行中生成我的 alt、src 和标题的数组集合,但我不知道如何去做.

请帮助这是我的代码。

// Page Settings

- @transition = "data-transition"
- @effect = "sliceDown"

- @slides = [ '1.jpg','2.jpg','3.jpg' ]
- @slide_titles = ['Title_1','Title_2']                     
- @alt_name = ['Alt_Name_1','Alt_Name_2']

这是我的 each.do 代码

- @slides.each do |slides|
     %img{:src => slides, :alt => @alt_name, :title => @slide_titles, @transition => @effect}

我想编写一个代码,让我可以轻松粘贴大量图像并以备将来使用。我被困在这里。

这是输出,

<img title="["Title_1", "Title_2"]" src="1.jpg" data-transition="sliceDown" alt="["Alt_Name_1", "Alt_Name_2"]">

我期望拥有的是

<img title="Title_1" src="1.jpg" data-transition="sliceDown" alt="Alt_name_1">
<img title="Title_2" src="2.jpg" data-transition="sliceDown" alt="Alt_name_2">
4

1 回答 1

1
- @slides.each_with_index do |slide, i|
     %img{:src => slide, :alt => @alt_name[i], :title => @slide_titles[i], @transition => @effect}

您的代码没有给出您期望的结果,因为您使用的是@alt_name数组和其他代码,而不仅仅是使用您想要的位置。您实际上可以在输出中看到它是一个数组,而不仅仅是一个字符串。

我只是更改each了,each_with_index所以它也给出了当前幻灯片的索引(位置),然后我们使用索引来获取标题和 alt_name 在同一位置做@alt_name[index]

也许是一个实际的例子:

alt_name = ['Alt_Name_1','Alt_Name_2']
alt_name[0] #=> 'Alt_Name_1'
alt_name[1] #=> 'Alt_Name_2'
于 2013-02-28T01:42:45.967 回答