查看
<% @foo.each do |foo| %>
<%= number_field_tag 'foo-number', foo.id %>
<% end %>
传递给number_field_tag的第一个值设置HTML输入字段的ID。传递'foo number'
时,input ID = foo-number
。我想按照以下方式动态命名该div:
<%= number_field_tag 'foo-number-#{foo.id}', foo.id %>
其中#{foo.id}
将foo的ID注入ID名称,从而动态命名每个number_field_tag
。
在这个阶段,我可以使用foo-number
进行完全静态的命名约定,如最上面的示例所示,也可以采用完全动态的命名约定,其中仅使用foo.id
,{ {1}}。我无法创建混合对象,其中<%= number_field_tag foo.id, foo.id %>
的第一部分是静态的,而ID的背面是动态命名的。
答案 0 :(得分:0)
您的解决方案是正确的,您只需在字符串插值有效的情况下使用双引号
<%= number_field_tag "foo-number-#{foo.id}", foo.id %>