0

我正在使用带有 Rail 4 的 Bootstrap 为模型创建一个新表单,我想像这样创建一个 form_group:

<label for="model_name">Name</label>
<input class="form-control" id="model_name" name="model[name]" placeholder="Your name" type="text">
<p class="help-inline" id="model_name_inline">Help inline</p>

在我看来,我这样做:

<%= form_for @model, url: {action: "create"} do |f| %>

<%= f.label :name %>
<%= f.text_field :name, placeholder: "Your name" %>
<%= content_tag :p, "Help inline", class: "help-inline", id: :name %>

<% end %>

但我不能让 content_tag 的“id”像标签和输入(在本例中为“model_name”)将“inline”添加到 id

我怎么能做到这一点?表单的自定义字段是否有任何类型的 content_field?:-)

先感谢您。

更新:感谢评论,我用正确的 id 更新了问题

4

1 回答 1

1

我会把它提取到一个助手中。例如

module ApplicationHelper
  def inline_help(help_text, object_name, method)
    content_tag :p, help_text, class: "help-inline", id: "#{object_name}_#{method}_inline"
  end
end

然后你可以像这样在你的表单中使用它

<%= form_for @model, url: {action: "create"} do |f| %>

<%= f.label :name %>
<%= f.text_field :name, placeholder: "Your name" %>
<%= inline_help 'Help inline', f.object_name, :name %>

<% end %>

希望这可以帮助。

于 2014-11-23T01:09:33.007 回答