幾乎是Ruby/Rails的初學者。Ruby on Rails 3:將額外的數據與模型關聯
我有很多第一個視頻:
@video = Video.find(params[:id])
@[email protected];
我想每部分顏色屬性相關聯,但顏色是由控制器來計算,而不是存儲在數據庫中。
到目前爲止,我已經簡單地創建在我的控制器一@colours
陣列,其中指數匹配了與部分
hues = [41, 6, 189, 117, 279]
saturation = 100;
brightness = 45;
@colours = [];
@sections.each { @colours.push Color::HSL.new(hues[j%hues.length], saturation, brightness) }
使@sections[i]
對應@colours[i]
的索引。
這工作正常,但似乎不是最好的辦法。我想延長我的第模型,使其具有「顏色」屬性,這樣我就可以做@sections[i].colour
我試圖把這個模型中/ sectiondata.rb訪問:
class SectionData
extend Section
attr_accessor :colour
end
但當我在我的控制器中嘗試執行SectionData.new
時,我收到一個錯誤,說它找不到該類。我也不知道如何讓原來的@section
成爲新的SectionData類的一部分。
解決此問題的最佳方法是什麼?我的編碼風格的任何提示也將被讚賞,紅寶石是從我習慣了一大步。
我的頁面,對一些數據(有一個任何數據庫查詢工作不僅僅是顏色),但我很好奇現在如何用類來做到這一點。 – bcoughlan 2011-03-20 19:55:30
如果您需要「顏色」屬性,爲什麼不爲您的Section模型添加數據庫列?我沒有看到需要擴展您的Section模型並定義自定義屬性。 – Shreyas 2011-03-21 10:07:30