有两个表gas_items和exp_items。exp_items里有id,name,gas_item_id这一项。
现在要新建一个exp_item。gas_item_id需要从gas_items中读出来,并且可以选择多个,如何实现?
gas_item_id的属性是int,如何存储多个id?
[b]问题补充:[/b]
我在model里面定义为has_and_belongs_to_many,rhtml页面中:
<% @gas_items.each do |gas_item| %>
<%= check_box_tag "gas_item_id[]",gas_item.id %>
<%= gas_item.name %>
<% end %>
可以实现复选框。但是gas_item_id写不进数据库。如果我在复选框列表中选择两个,数据库中写进两条记录,但是gas_item_id为空。
需要根据gas_item_id找到gas_item的model,然后和exp_item关联。
注意观察我给你的代码和你自己写的。我使用的都是model,而非_id。
既然已经进行了关联,就不需要使用id了,直接使用model操作。
check_box_tag("exp_item[][gas_item]",g)
<%= check_box_tag "gas_item_id[]",gas_item.id %>
INSERT INTO exp_item SELECT gas_item_id FROM gas_items;
难道不是一对多关系吗?如果是一对多关系很容易。
[code="java"]
<% for gas_items do g %>
check_box_tag("exp_item[][gas_item]",g)
<% end %>
[/code]
[code="java"]
exp_item.save
[/code]
你给的表是One to Many,所要实现是Many to one或Many to Many,所以只能重建表了。
Many to Many需要中间的交叉表
问题就很傻
Lighttpd + FastCGI + Rails
这是当前最好的,至于如何配置,在网上搜一下吧.
听说rails2.2时要改成线程安全的,那时怎么着再说.呵
上一个发错了,真存在提问的智慧问题,呵呵.