目前,我有以下我的應用程序正常工作:Rails的:需要多選擇窗體以在單獨的行提交數據
表
<%= f.fields_for :types do |builder| %>
<p>
<%= builder.select(:name, [['Type A', 'Type A'],
['Type B', 'Type B'],
['Type C', 'Type C'],
['Type D', 'Type D'],
['Type E', 'Type E']
],{ :prompt => "Please select"},
{ :multiple => true, :size => 5 }
) %>
</p>
% end %>
控制器
def new
@task = Task.new
1.times { @task.types.build }
end
型號型號
class Type < ActiveRecord::Base
belongs_to :task
accepts_nested_attributes_for :task
attr_accessible :name, :task_attributes
end
任務模型
class Task < ActiveRecord::Base
has_many :types, :dependent => :destroy
accepts_nested_attributes_for :types
attr_accessible :types_attributes
end
我的問題是,提交一切順利的信息時將在類型表中的同一行,「名」字段 - 我需要它來創建不同行類型表。
我需要這個解決方案http://forums.phpfreaks.com/topic/195729-multiple-select-drop-down-data-saved-to-mysql-how/但Rails的
我可以得到不同的行使用文本字段與下面的代碼創建:
表
<%= f.fields_for :types do |builder| %>
<p>
<%= builder.label :name, "Type Name" %><br />
<%= builder.text_field :name %>
<%= builder.check_box :_destroy %>
<%= builder.label :_destroy, "Remove Chore" %>
</p>
<% end %>
控制器
def new
@task = Task.new
3.times { @task.types.build }
end
任何援助將不勝感激。
不知道你的模型的關聯設定,我的猜測是,你要fields_for :類型 – davidfurber
上面是一個錯字(現在我已經在上面修改了),但不幸的是 - 仍然是同樣的問題 - 它向「類型」表提交數據(這是一件好事),沒有任何問題 - - 但所有的數據放在'名稱'單元格的一行---我需要分離每行的費率行只有一個條目在名稱字段中---如果我使用單獨的文本字段,這將非常有效--- – user1648020
Doh!基本的問題是,你無法使用字段和嵌套屬性完成你想要的。嘗試刪除它並使集合選擇轉到type_ids。 – davidfurber