关系类有属性错误

发布于 2024-12-02 01:52:37 字数 494 浏览 3 评论 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

Why relationship classes attribute is not attribute?

$ 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>

Model:

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

  # Validations
...
end

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野侃 2024-12-09 01:52:37

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

你想做的是:

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

它会起作用! :)

It is just because your are calling the #attributes= instance method on the class ResourceServer and not on the object rs.

What you want to do is:

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

And it will work! :)

东京女 2024-12-09 01:52:37

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

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

ResourceServer is a class, you need an instance of that class in order to assign attributes to it. For example you can do:

rs = ResourceServer.new
rs.attributes = {:server_id => 1, :resource_id => 1}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文