我已经使用simple_form
几年了,但总是单独使用或与Bootstrap
一起使用。我在一个新项目中使用 Foundation
,并且我已经按照 Zurb 的说明安装了 foundation-rails
gem。我也跑过:
rails g simple_form:install --foundation
它已经创建了必要的文件。
现在是令人困惑的部分。当我曾经为 Bootstrap 生成带有simple_form的控制器或基架时,默认情况下会使表单看起来很棒。
但是当我在我的新 Rails 项目中使用 simple_form for Foundation 运行这些相同的生成器时,表单似乎根本没有样式。田野一直延伸到屏幕上。
传入config/initializers/simple_form_foundation.rb
文件中指定的包装器 HTML 类不会执行任何操作。
例如:
<%= simple_form_for(@organization, html: { class: "horizontal-form" }) do |f| %>
我可以在 HTML 源代码中看到它确实将"内联表单"作为表单上的一个类,但没有其他事情发生。任何div周围的包装器都没有不同,它很简单:
<div class="input string optional organization_official_name">
<label class="string optional" for="organization_official_name">Official Name</label>
<input class="string optional" id="organization_official_name" name="organization[official_name]" type="text" value="Voolith">
</div>
除了使用 Zurb 类并且运行良好的导航栏之外,我还没有在我的应用程序布局中做任何花哨的事情。
我想我对simple_form
到底应该在这里做什么感到困惑?我不明白simple_form.rb
和simple_form_foundation.rb
文件中的配置与CSS类之间的联系。
现在,像我上面所做的那样传递"垂直形式"或"水平形式"类没有任何作用。simple_form不应该以某种方式读取该值并以不同的方式呈现表单吗?
我遇到了同样的问题,谷歌搜索没有产生快速的答案。
我相信而不是
<%= simple_form_for(@organization, html: { class: "horizontal-form" }) do |f| %>
尝试
<%= simple_form_for(@organization, :wrapper => :horizontal_form) do |f| %>
这引用了 配置包装器config/initializers/simple_form_foundation.rb