【问题标题】:How to create a bootstrap paragraph 'help-block' for a input field in Rails 4如何在 Rails 4 中为输入字段创建引导段落“帮助块”
【发布时间】:2014-11-21 20:19:09
【问题描述】:

我正在使用带有 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”)在 id 中添加“inline”

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

提前谢谢你。

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

【问题讨论】:

  • HTML 文档上的 CSS id 应该是唯一的,如果您想重用它,请将其更改为 class。你到底想做什么?
  • 这是真的!我想设置一个从输入名称生成的 id,例如“model_name_inline”,其中“model_name”是输入字段中的 id

标签: ruby-on-rails forms twitter-bootstrap content-tag


【解决方案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 %>

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 1970-01-01
    • 2018-02-04
    • 2021-08-29
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多