2012-12-22 34 views
0

我有以下几点:如何红宝石文件对象分配给assets_attributes通过导轨控制台

class User < ActiveRecord::Base 
    has_many :assets 
    accepts_nested_attributes_for :assets 
end 

我想要做的事情通过轨道控制台,如:

f=File.new '/Users/jt/em.jpg' 
u=User.find(21) 
u.assets_attributes=f 

但我得到:

ArgumentError: Hash or Array expected, got File (#<File:/Users/jt/em.jpg>) 

我该如何正确地分配这个?提前

+0

您想要将JPEG存储在其中一个资产属性中? –

+0

是啊,我试过把它作为一个资产(我使用回形针),但仍然没有骰子。 – timpone

+0

如果您先将文件读入内存,您可能会有更好的运气。然后,也许把它扔在哈希... –

回答

0

THX错误是说,你需要一个数组分配给u.assets_attributes。你给它一个File对象。尝试用u.assets_attributes=[f]替换最后一行。因为它期待一个数组。让我知道。

+0

嗯.... NoMethodError:未定义的方法'with_indifferent_access'的#<资产:0x007fa48902f758>让我看看这更多。 Prob需要首先将资产分配为资产,而不是文件 – timpone