我有一个简单的Formtastic表单,嵌套模型如下。
<%= semantic_form_for @event do |form| %>
<%= form.input :user_id , :as => :hidden, :value => @user.id %>
<%= form.input :title %>
<%= form.input :invitations, :as => :check_boxes, :collection => Group.find(:all, :order => "name ASC"), :for => :invitations, :name => "Invitation", :include_blank => false %>
<%= form.buttons %>
<% end %>
不知何故,Formtastic将我的输入放入无序列表中,如下所示:
我想知道如何更改设置以解决此问题。
此外,对于复选框,Formtastic会自动添加一个nill选项:
Parameters: {"utf8"=>"✓", "authenticity_token"=>"XXX", "event"=>{"title"=>"test 15", "type"=>"", "invitation_ids"=>["", "2", "1"]}, "commit"=>"Create Event"}
我该如何解决这个问题?
谢谢。
答案 0 :(得分:7)
我有同样的问题。以下是我修复它的方法:
<强> ERB 强>
<div class="some_class">
<%= semantic_form_for @event do |form| %>
<%= form.input :user_id , :as => :hidden, :value => @user.id %>
<%= form.input :title %>
<%= form.input :invitations, :as => :check_boxes, :collection => Group.find(:all, :order => "name ASC"), :for => :invitations, :name => "Invitation", :include_blank => false %>
<%= form.buttons %>
<%= end %>
</div>
<强> CSS 强>
.some_class {
li {
list-style-type:none;
}
}
我不确定这是解决问题的绝对正确方法,但对我而言,它已经完成了我想要它做的事情。希望这有帮助!
我曾尝试专门为表单添加一个类,但这并不是针对'li',因为它是该元素的子元素。由于formtastic创建了'li',我决定转到'li'的父元素并从上到下定位它。
答案 1 :(得分:0)
这是formtastic的默认行为。 Formtastic附带自己的样式表来抑制项目符号的显示并正确格式化表单。您需要在布局中包含此内容,然后覆盖任何不适合您网站的规则。
在Rails&lt; 3.1有一个rake任务来生成必要的文件:
rails generate formtastic:install
在3.1 +中,CSS可以通过资产管道获得。