将ERB插值为HTML值属性(Rails)

时间:2016-09-09 15:14:25

标签: ruby-on-rails ruby erb params

我正在尝试将数据作为参数传递给隐藏的输入标记属性:

<input name="quote[destination]" value= <%= "#{quote["InboundLeg"]["OriginCity"]}" %> type="hidden" />

提交表单时,params包含要插入的字符串的第一个单词,并删除第一个空格后的所有内容。

如果我决定通过一个普通的字符串来传递值,如下所示:

<input name="quote[destination]" value= "foo bar buzz" type="hidden" />

与前一种情况不同,整个字符串都通过。任何人都可以阐明为什么这可能和一些可能的解决方案?

2 个答案:

答案 0 :(得分:2)

将该行更改为:

<input name="quote[destination]" value="<%= quote["InboundLeg"]["OriginCity"] %>" type="hidden" />

请注意,引号不在ERB语句中。

或者您可能想要使用hidden_field_tag表单助手:

<%= hidden_field_tag 'quote[destination]', quote["InboundLeg"]["OriginCity"] %>

答案 1 :(得分:1)

替换输入标签
<input name="quote[destination]" value= "<%= quote['InboundLeg']['OriginCity'] %>" type="hidden" />

您必须对值

应用引号