【问题标题】:Adding CSS styles to a form_tag in Rails 3在 Rails 3 中将 CSS 样式添加到 form_tag
【发布时间】:2011-03-29 20:03:23
【问题描述】:

我有一个 Rails 应用程序,我在其中使用自定义样式表,这些样式表对 Rails form_tag 助手生成的 <form> 标记没有影响。有人可以指出一些代码或示例来说明如何将 CSS 样式添加到 form_tag 吗?

【问题讨论】:

    标签: ruby-on-rails css


    【解决方案1】:
    <% form_tag {:controller => 'my_controller', :action => 'my_action'}, :id => 'my_id' do %>
    

    在 .css 文件中

    #my_id {
     /* your style */
    }
    

    【讨论】:

    • 或在所有表单上使用 :class=> 'my_class'
    【解决方案2】:

    使用form_for 帮助器,您传递的第一个参数由url_for 帮助器专门用于确定将表单提交到哪个URL。 Ruby 将哈希样式命名参数视为单个参数(哈希),因此如果您将一组选项作为第一个参数(例如 form_tag(controller: 'my_controller', action: 'show'))传递,则包含的任何其他选项(例如 :method 或 @987654329 @) 将被视为url_for 而不是form_for 的选项,这不是您想要的。

    要解决此问题,您可以将散列作为第一个参数显式传递给form_tag,然后将其他选项(例如类属性,这可能是您想要用于样式的属性)放在此之外哈希,像这样:

    <% form_tag {controller: 'my_controller', action: 'show'}, class: 'main-form' do %>
      <!-- Form content here -->
    <% end %>
    

    之后,您可以像使用任何其他元素一样使用 css 设置表单样式:

    .main-form {
      // Style rules here
    }
    

    有关form_for 接受的选项的更多信息,请参阅form_forurl_for 的文档。

    【讨论】:

      【解决方案3】:

      有几种方法可以做到这一点:

      form {
        color: red;
      }
      

      这将抓取所有表单并设置样式。

      #id {
        color: red;
      }
      

      这将获取与 ID 匹配的表单并为其设置样式。

      .class {
        color: red;
      }
      

      这将获取与类匹配的表单并设置它们的样式。

      【讨论】:

      • 他问的是如何将class或id添加到form_for,而不是如何在css中设置样式。
      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 2023-03-26
      • 2016-03-25
      • 2012-07-31
      • 1970-01-01
      • 2013-07-14
      • 2019-01-29
      相关资源
      最近更新 更多