2011-04-30 129 views
0

我正在研究地下城和龍的角色數據庫。我有兩個模型,角色和統計。我希望在每個角色都有一組統計信息的情況下工作。問題是,當我創建一個新角色時,每個角色共享相同的統計信息。這可能是一個很容易解決的問題,但我一直在反駁它,並且無法弄清楚。關聯模型的問題

下面是從人物模型的代碼:

類字符<的ActiveRecord ::基地
   的has_many:統計,:依賴=>:破壞

下面是來自統計模型的代碼:

class Statistic < ActiveRecord :: Base
    belongs_to:字符
結束

查看字符時顯示統計模型的正確代碼是什麼?我需要使用link_to還是render標記?謝謝!

回答

0

既然有很多人,你需要使用一個循環或東西:

<ul> 
    <% @character.statistics.each do |stat| %> 
    <li><%= stat %></li> 
    <% end %> 
</ul> 

更妙的是使用部分:

<ul> 
    <% @character.statistics.each do |stat| %> 
    <%= render :partial => "characters/statistic", :object => stat %> 
    <% end %> 
</ul> 

那麼你就必須應用程序/視圖/字符/ _statistic.html.erb:

<li><%= statistic %></li> 

這樣,您就可以使用代碼統計在其他渲染地方也是。

+0

感謝您的幫助!另一個問題,但。由於每個角色只有統計模型的一個實例,我是否需要聲明has_many?起初,我認爲has_one是要走的路,但後來我認爲它應該是has_many,因爲我將有不止一個字符實例。哪條路是正確的? – illbzo1 2011-04-30 18:56:43

+0

如果角色只有一個統計量,那麼has_one就是要走的路。你的意思是說每個統計數據都屬於多個角色,或者你的系統中只有多個角色? – robbrit 2011-04-30 18:59:35

+0

我將在系統中有多個字符。我假設我希望每個角色都有統計模型的一個實例,因爲每個角色都只有一組統計數據。 – illbzo1 2011-04-30 20:22:24