占位符文本作为模型标记

时间:2013-12-16 18:00:53

标签: ruby-on-rails ruby

如何在文本字段输入中使用ruby模型作为占位符文本?

我试过了:

  <%= text_field_tag 'name', nil, placeholder: size[:name], 'Name'%>

  <%= text_field_tag 'name', nil, placeholder: <%= size[:name] %> 'Name'%>

但都不起作用。

这是什么语法?

2 个答案:

答案 0 :(得分:3)

使用字符串插值(需要双引号字符串):

 <%= text_field_tag 'name', nil, placeholder: "#{size[:name]} Name" %>

答案 1 :(得分:0)

第一个部分在使用<%=...%>标签时部分正确,但第二个不正确。你不能像在这一行中那样嵌套erb表达式标签:

<%= text_field_tag 'name', nil, placeholder: <%= size[:name] %> 'Name'%>

解决方法是使用字符串连接或字符串插值,因为@PinnyM已经回答了。

使用字符串连接:

<%= text_field_tag 'name', nil, placeholder: size[:name].to_s + 'Name' %>

使用@PinnyM已经显示的插值:

<%= text_field_tag 'name', nil, placeholder: "#{size[:name]} Name" %>