В моем Ruby On Rails 4 (рубин 2.2) приложений, у меня есть внутри зрения:факторизовать рубин письменности на основе константного массива Loop
<%= sanitize(@template.render(
'text1' => modal['text1'],
'text2' => modal['text2'],
'text3' => modal['text3'],
'text4' => modal['text4'],
'image1' => modal['image1'],
'image2' => modal['image2'],
'image3' => modal['image3']
goes on like this....
)
) %>
Где вы видите выше 'идет в том же духе', это потому, что я woukd нравится факторизовать это и использовать dirctly значений, исходя из этой константы:
MODAL_ELEMENTS = [ "text1",
"text2",
"text3",
"text4",
"image1",
"image2",
"image3",
"video1",
"video2",
"video3",
"..."
]
Я хочу, чтобы найти способ, чтобы изменить то, что внутри дезинфицировать @ template.render так, что рубин перебирает каждый из элементов MODAL_ELEMENTS (text1, TEXT2 , ..) и вводить их как 'text1' => 'text1' => modal ['text1'], 'text2' => modal ['te xt1 '] в коде выше.
Сегодня у меня есть это, но он не:
<%= sanitize(@template.render(
MODAL_ELEMENTS.each { |element| element => modal[ element ])) %>
Трудность также в том, что цикл должен добавить каждый кома («»), что мы видим здесь, выделены жирным шрифтом:
„text1“ => модальных [ 'текст1'] ,
'текст2' => модальных [ 'текст2'] ,
...
Что именно вы пытаетесь достичь с этим? – SomeSchmo