Ich habe ein Query-Modell mit einer has_many-Beziehung zu OutputFields. In der neuen Funktion meines Abfrage-Controllers erstelle ich mehrere OutputFields innerhalb der Abfrage-Instanz. In meinem Formular möchte ich, dass jedes Kontrollkästchen bestimmt, ob das Objekt gespeichert ist (ein Häkchen bedeutet, dass diese Instanz von OutputField in der Datenbank gespeichert wird). Wie kann ich das machen?Rails 3 - Kontrollkästchen für create (gegenüber von _destroy)
meine Modelle:
class Query < ActiveRecord::Base
attr_accessible :description, :name
has_many :output_fields, :dependent => :destroy
accepts_nested_attributes_for :output_fields
end
class OutputField < ActiveRecord::Base
attr_accessible :query_id, :column_name, :table_name
belongs_to :query
end
relevanten Abschnitte meiner Abfragen Controller. Struktur ist ein anderes Modell.
# GET /queries/new
# GET /queries/new.json
def new
@query = Query.new
Structure.columns.each do |column|
@query.output_fields.build(:table_name => Structure.table_name, :column_name => column.name)
end
respond_to do |format|
format.html # new.html.erb
format.json { render :json => @query }
end
end
Endlich meine Ansicht. Im Moment verbinde ich das Kontrollkästchen mit dem Attribut destroy, was meiner Meinung nach genau das Gegenteil von dem ist, was ich will.
Wenn es nicht offensichtlich ist, versuche ich eine Benutzeroberfläche für einen einfachen Abfrage-Generator zu generieren. Dies ist meine erste Rails App, daher ist jeder Rat gefragt.
Nice Trick +1 aus der Zukunft hat es für mich gearbeitet. –