我一直有这个烦人的问题,我点击了我的自定义表单的选择下拉输入,在我的 Rails 应用程序中使用 Zurb Foundation 4 进行样式设置,并且列表不会显示其元素。
一开始我认为这是简单表单的问题,但我更改了 f.collection_select 的 f.association,我的代码如下所示:
<h2><%= I18n.t(".sign_up") %></h2>
<%= simple_form_for(resource, :html => {:class => "custom"}, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<%= devise_error_messages! %>
<%= f.input :rut %>
<%= f.input :name %>
<%= f.input :email %>
<div>
<%= f.label :supplier_type_id %>
<%= f.collection_select :supplier_type_id, SupplierType.all, :id, :name %>
</div>
<%= f.input :password %>
<%= f.input :password_confirmation %>
<%= f.error :base %>
<%= f.submit I18n.t(".sign_up"), :class => "button" %>
<% end %>
<%= render "devise/shared/links" %>
最奇怪的是,有时我可以在刷新页面时看到项目,但是当我从应用程序的其他视图导航到页面时,它就不起作用了。我在使用表单提示时也注意到了这一点(即:如果我在相同的表单中有两个提示,在不同的输入中,只有一个会显示,但是当每条消息都应该显示在它们各自的输入。重新加载页面时,有时会显示一个提示,有时会显示另一个)
样式看起来不错,所以我认为这可能是基础 javascript 问题。
我注意到的另一件事是,当我加载页面时,样式在使用自定义表单时会出现一种“闪烁”。这个闪烁看起来像基础需要一段时间来加载样式,我也在他们自己的自定义表单文档站点上注意到了这一点。这可能表明这是一个带有 javascript 事件或类似内容的表单,因此这可能意味着 javascript 运行良好。
另外,复选框也有类似的问题,只有在重新加载页面时才能选中,可能与此问题有关。
我很迷茫,一些帮助会变得非常方便。谢谢!
--edit:Foundation 5 不包含自定义表单并且效果更好--