0

为什么关系类属性不是属性?

$ rs = ResourceServer.new
 => #<ResourceServer id: nil, resource_id: nil, server_id: nil, created_at: nil, updated_at: nil> 

$ rs = ResourceServer.attributes = {:server_id => 1, :resource_id => 1}
 NoMethodError: undefined method `attributes=' for #<Class:0x00000003384728>

模型:

class ResourceServer < ActiveRecord::Base
  belongs_to :server
  belongs_to :resource

  # Validations
...
end
4

2 回答 2

3

这只是因为您在类而不是对象上调用#attributes=实例方法。ResourceServerrs

你想做的是:

rs.attributes = {:server_id => 1, :resource_id => 1}

它会起作用的!:)

于 2011-08-31T13:38:44.537 回答
0

ResourceServer 是一个类,您需要该类的一个实例才能为其分配属性。例如,您可以这样做:

rs = ResourceServer.new
rs.attributes = {:server_id => 1, :resource_id => 1}
于 2011-08-31T13:40:41.620 回答