我在.rb文件中有这段代码:
main_content_blocks do
5.times.map do |position|
{
id: rand(10..100),
position: position,
block_type: 'text',
text_markdown: "**This is the Markdown number #{position}**",
library_image_id: nil,
library_image_alt_text: nil,
library_image_title: nil,
library_image_caption: nil,
}
end
end
从HTML中,例如在段落中,我需要调用main_content_blocks的不同选项...例如ID,text_markdown等... 如何使用ruby< %%>编写HTML ?
答案 0 :(得分:0)
详细说明bkunzi01的响应 - 要在控制器中创建对main_content_blocks变量的访问权限,只需在所需变量的开头添加@
即可将使它成为一个实例变量。例如,如果您正在使用ExampleController #index路由。
controllers/example_controller.rb
class ExampleController < ApplicationController
def index
@view_data =
main_content_blocks do
5.times.map do |position|
{
id: rand(10..100),
position: position,
block_type: 'text',
text_markdown: "**This is the Markdown number #{position}**",
library_image_id: nil,
library_image_alt_text: nil,
library_image_title: nil,
library_image_caption: nil,
}
end
end
end
end
然后在视图中(使用html和erb)
views/example/index.html.erb
<div>
<% @view_data.each do |data| %>
<h1><%= data[:id] %></h1>
<% end %>
</div>
会呈现如下内容:
<div>
<h1>1</h1>
<h1>2</h1>
<h1>3</h1>
<h1>4</h1>
<h1>5</h1>
</div>