私は、OutputFieldsとhas_manyの関係を持つQueryモデルを持っています。私のクエリコントローラの新しい関数では、いくつかのOutputFieldをクエリインスタンス内に構築します。私のフォームでは、各チェックボックスで、オブジェクトが保存されているかどうかを確認します(チェックは、このインスタンスのOutputFieldをデータベースに保存することを意味します)。これどうやってするの?Rails 3 - 作成のチェックボックス(_destroyの反対側)
私のモデル:私のクエリコントローラの
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
関連するセクション。構造も別のモデルです。
# 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
最後に、私の見解です。今は、チェックボックスをdestroy属性にリンクしています。これは、私が望むものとまったく逆のことをすると思います。
<%= form_for(@query) do |f| %>
<%= f.fields_for :output_fields do |builder| %>
<div class="field">
<%= builder.check_box :_destroy %>
<%= builder.label :_destroy, builder.object.column_name %>
</div>
<% end %>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
明らかでない場合は、単純なクエリビルダのユーザーインターフェイスを生成しようとしています。これは私の最初のレールアプリなので、どんなアドバイスも感謝しています。
将来のニースのトリック+1は、私のために働いた。 –