我有一个表单,用户在其中输入属性的数字:bytesize,它具有整数数据类型。该数字表示我的对象@catcher的字节数。
我希望有一个方法可以将:bytesize的值转换为兆字节。也就是说,我希望能够运行@ catcher.mbsize,这将显示该对象的兆字节数。
我对Rails很陌生,所以如果这看起来很明显,我很抱歉。
答案 0 :(得分:2)
转换方法非常简单:
class Catcher
def mbsize
self.bytesize / (1 << 20)
end
end
请记住,属性在内部存储为实例变量,因此attr_accessor :bytesize
存储在@bytesize
中。
答案 1 :(得分:0)
您需要将mbsize列添加到数据库中。
在控制器中:
def create
#other code
def mbsize
@bytesize / (1 << 20)
end
@catcher.mbsize=mbsize
@cather.save
end
修改强>
如果您不需要相关的DB记录,您只需在Catcher模型中定义此方法:
def mbsize
bytesize=self.bytesize
mbsize=#your method of converting
end
由于某种原因,你的字节大小是刺痛的。您可以通过.to_i
方法