2014-02-07 92 views
0

我在Rails的2个表:Rails模型中2个表格之间的关系如何?

 
CURRENCIES: 
------------- 
| id | name | 
------------- 
| 1 | USD | 
| 2 | EUR | 
------------- 
 
ITEMS: 
---------------------------------------- 
| id | name  | price | currency_id | 
---------------------------------------- 
| 1 | product a | 100 |   1 | 
| 2 | product b | 20 |   2 | 
| 3 | product c | 60 |   2 | 
| 4 | product d | NULL |  NULL | 
---------------------------------------- 


ITEMS.priceITEMS.currency_id是允许NULL,但ITEMS.currency_id必须设置时ITEMS.price != NULL

这些表之间的关系如何?

回答

0

这是你应该怎么做RoR中的一个一对一的关系:

class Item < ActiveRecord::Base 
    has_one :currency 
end 

根据你的DBMS,你可以添加一个检查约束,使pricecurrency_id必须是都为null或具有价值。

它还在我看来,你可以把在另一个表

PRICES 
--------------------------- 
| id | value | currency_id | 
--------------------------- 
| 1 | 100 |   1 | 
| 2 | 200 |   2 | 
--------------------------- 
+1

很好的解释。谢谢! – bprayudha

+0

价格解决方案的优点之一是您可以使用不同的currency_id保留多个价格。尽管如此,我不确定保持不同计算而不是在需要时进行计算是一个很好的想法。 –

相关问题