将 ERB 插值为 HTML 值属性 (Rails)
Interpolating ERB as an HTML value attribute (Rails)
我正在尝试将数据作为隐藏输入标签的 value 属性中的参数传递:
<input name="quote[destination]" value= <%= "#{quote["InboundLeg"]["OriginCity"]}" %> type="hidden" />
提交表单时,参数包含要插入的字符串的第一个单词,并删除第一个 space 之后的所有内容。
如果我决定像这样通过值将普通字符串传递给参数:
<input name="quote[destination]" value= "foo bar buzz" type="hidden" />
与前一种情况不同,整个字符串都通过了。任何人都可以阐明为什么会这样以及一些可能的解决方案吗?
将该行更改为:
<input name="quote[destination]" value="<%= quote["InboundLeg"]["OriginCity"] %>" type="hidden" />
请注意,引号在 ERB 声明之外。
或者您可能想使用 hidden_field_tag
表单助手来创建这样的隐藏输入字段并且阅读起来更好:
<%= hidden_field_tag 'quote[destination]', quote["InboundLeg"]["OriginCity"] %>
如果我有选择的话,我总是会使用助手,因为恕我直言,像第一个例子那样混合 HTML 和 ERB 是一种不好的做法。
将您的输入标签替换为
<input name="quote[destination]" value= "<%= quote['InboundLeg']['OriginCity'] %>" type="hidden" />
您必须对值应用引号
我正在尝试将数据作为隐藏输入标签的 value 属性中的参数传递:
<input name="quote[destination]" value= <%= "#{quote["InboundLeg"]["OriginCity"]}" %> type="hidden" />
提交表单时,参数包含要插入的字符串的第一个单词,并删除第一个 space 之后的所有内容。
如果我决定像这样通过值将普通字符串传递给参数:
<input name="quote[destination]" value= "foo bar buzz" type="hidden" />
与前一种情况不同,整个字符串都通过了。任何人都可以阐明为什么会这样以及一些可能的解决方案吗?
将该行更改为:
<input name="quote[destination]" value="<%= quote["InboundLeg"]["OriginCity"] %>" type="hidden" />
请注意,引号在 ERB 声明之外。
或者您可能想使用 hidden_field_tag
表单助手来创建这样的隐藏输入字段并且阅读起来更好:
<%= hidden_field_tag 'quote[destination]', quote["InboundLeg"]["OriginCity"] %>
如果我有选择的话,我总是会使用助手,因为恕我直言,像第一个例子那样混合 HTML 和 ERB 是一种不好的做法。
将您的输入标签替换为
<input name="quote[destination]" value= "<%= quote['InboundLeg']['OriginCity'] %>" type="hidden" />
您必须对值应用引号