如何将变量值插入ERB模板中的HTML标记?

max*_*fry 5 ruby ruby-on-rails erb

我有一个偏爱:

<% office.map do |o| %>
   <input id='city' name='company[company_office][0][city]' value=.... type='text' />
<% end %>
Run Code Online (Sandbox Code Playgroud)

如何o.office在属性中插入值?value="#{o.office}"不起作用.

cor*_*ded 17

<% office.map do |o| %>
   <input id='city' name='company[company_office][0][city]' value='<%= o.office %>' type='text' />
<% end %>
Run Code Online (Sandbox Code Playgroud)

或者您可以使用表单助手

  • 你的具体名称是什么意思?此外,不建议遍历循环并使用相同的ID创建输入.你应该让你的身份和名字充满活力. (2认同)

ard*_*vis 9

使用嵌入式ruby(erb)标签,

<%= o.office %>
Run Code Online (Sandbox Code Playgroud)

你唯一一次使用的#{o.office}是你没有使用erb.例如,在辅助方法中,您希望在字符串中使用ruby.但是当你在html.erb文件中时,你必须使用erb标签.

  • 同意最高投票的答案.`<%= o.office%>`只是想补充一点,初学者识别带有和不带等号的区别btwn erb标签很重要.`<%= ...%>`与`<%...%>`**带有等号的标签**表示封闭的代码是表达式,并将代码呈现为字符串.用于将代码行嵌入到模板中以显示变量的内容.**没有等号的标签**常用于在Ruby中包含循环/条件逻辑. (3认同)