如何在 Ruby on Rails 中向 select_tag 添加一个类

Posted

技术标签:

【中文标题】如何在 Ruby on Rails 中向 select_tag 添加一个类【英文标题】:How to add a class to select_tag in Ruby on Rails 【发布时间】:2014-02-07 10:43:32 【问题描述】:

难以添加类标签:

 <div class="field">
    <%= label_tag(:school_or_org, "Are you a school or a non-profit organization?") %> 
    <%= select_tag(:school_or_org, options_for_select([ ['school', "school"], ['non-profit', "non-profit"] ]))  %> 
  </div>

这是我尝试过的,除其他外:

      <div class="field">
         <%= label_tag(:school_or_org, "Are you a school or a non-profit organization?") %> 
         <%= select_tag(:school_or_org, options_for_select([ ['school', "school"], ['non-profit', "non-profit"], :class => 'form-control' ]))  %> 
     </div> 

当我通过 firefbug 检查它时,我没有看到类信息,所以很明显它没有被添加。

如何添加它以使其显示在表单中?

谢谢

编辑一个

你的意思是这样的:

 <%= select_tag(:school_or_org, options_for_select([ ['school', "school"], ['non-profit', "non-profit"]] ), :class => 'form-control')  %> 

没有用。

仅供参考,这就是我试图让选择框看起来像:http://getbootstrap.com/css/#forms(查看选择部分)。这就是我从中获得“表单控制”的地方。

【问题讨论】:

您希望将类添加到选择框还是选择选项中? @patrickmcgraw,我想现在选择框。 【参考方案1】:

如果您使用the select helper,则需要一个空选项哈希,后跟您的 html 选项,如下所示:

select(object, method, choices, options = , html_options = )

用你的例子,看起来像这样:

<%= select(:school_or_org, options_for_select([ ['school', "school"], ['non-profit', "non-profit"]] ), , :class => 'form-control')  %>

如果您使用the select_tag helper,您可以在末尾添加哈希作为选项哈希的一部分:

 select_tag(name, option_tags = nil, options = )

这是可行的,因为任何无法识别的选项都会作为标准 HTML 属性传入。

用你的例子,看起来像这样:

<%= select_tag(:school_or_org, options_for_select([ ['school', "school"], ['non-profit', "non-profit"]] ), :class => 'form-control')  %> 

【讨论】:

这是我复制您的答案时得到的结果:“参数数量错误(4 对 3)” .... 我没有修改任何其他内容。为什么会给出这个答案? 抱歉,我一直在考虑 select 助手,而不是 select_tag 助手。我已经修改了我的答案,并解释了差异(附有参考资料)。现在其中任何一个都应该可以工作了。【参考方案2】:

如果您希望选择框本身上的类,那么您会在此处发生括号嵌套错误。 :class =&gt; 'form-control' sn-p 需要在 options_for_select 调用的括号之外。

如果您希望将类应用于选项,则每个数组元素都需要像这样的类声明:['non-profit', "non-profit", :class =&gt; 'form-control']

【讨论】:

我已经用我的做法更新了我的帖子。它仍然没有工作。我做错了什么?

以上是关于如何在 Ruby on Rails 中向 select_tag 添加一个类的主要内容,如果未能解决你的问题,请参考以下文章

ruby on rails如何安装

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?

如何在 ruby​​ on rails 4 中创建高级搜索

如何在 ruby​​ on rails 中结合救援多个异常?

如何在 ruby​​ on rails 中命名外键?

Ruby on Rails - 如何在 Rails 方法中使用 HTML 坐标?