几乎是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