6
我有一个与OutputFields has_many关系的查询模型。在我的查询控制器的新函数中,我在查询实例中构建了多个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 %>
如果不是很明显,我想生成一个简单的查询生成器的用户界面。这是我的第一个rails应用程序,所以任何建议表示赞赏。
不错的把戏+1从未来它为我工作。 – 2016-07-19 05:54:36