2 Stimmen

Rails formtastic erstellt automatisch eine ungeordnete Liste für Formulareingaben

Ich habe ein einfaches Formtastic-Formular mit folgendem verschachtelten Modell.

<%= 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 %>

Irgendwie stellt Formtastic meine Eingaben wie folgt in eine ungeordnete Liste:

enter image description here

Ich frage mich, wie ich die Einstellung ändern kann, um dies zu beheben.

Außerdem fügt Formtastic für das Kontrollkästchen automatisch eine Null-Option hinzu:

  Parameters: {"utf8"=>"", "authenticity_token"=>"XXX", "event"=>{"title"=>"test 15",  "type"=>"", "invitation_ids"=>["", "2", "1"]}, "commit"=>"Create Event"}

Wie soll ich das beheben?

Ich danke Ihnen.

8voto

Matt Wagner Punkte 810

Ich hatte genau das gleiche Problem. Hier ist, wie ich es behoben habe:

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;
   }
}

Ich bin mir nicht sicher, ob dies der absolut richtige Weg ist, um das Problem zu lösen, aber für mich hat es das bewirkt, was ich erreichen wollte. Ich hoffe, das hilft!

Ich hatte versucht, eine Klasse speziell für die Formulare hinzuzufügen, aber das war nicht auf das Element "li" ausgerichtet, da es ein Kind dieses Elements war. Da formtastic das "li" erstellt, beschloss ich, zum übergeordneten Element des "li" zu gehen und es von oben nach unten anzuvisieren.

0voto

Richard Hulse Punkte 10295

Dies ist das Standardverhalten von formtastic. Formtastic verfügt über ein eigenes Stylesheet, um die Anzeige von Aufzählungszeichen zu unterdrücken und das Formular korrekt zu formatieren. Sie müssen dieses in Ihr Layout einbinden und dann alle Regeln überschreiben, die nicht für Ihre Website geeignet sind.

In Rails < 3.1 gibt es einen Rake-Task, um die notwendige Datei zu erzeugen:

rails generate formtastic:install

In 3.1+ ist das CSS über die Asset-Pipeline verfügbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X