问题标签 [attr-accessor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
54 浏览

ruby-on-rails-3 - 仅在 rails 3 中使用特定方法访问列

假设我有一个User具有两个属性的模型::name:age。我希望该:age列只能由“def 操作年龄()”(某种方法)访问。这也包括,user.update_attributes!(:age => 10)预计会抛出异常。是否可以在 Rails 3 中做到这一点?

0 投票
1 回答
670 浏览

ruby - attr_accessor 或自定义方法重复方法名称混淆

我确实理解Ruby支持调用方法的简写风格,即:1.+(2)1+2(我仍然认为它是否与我的情况有关),但我真的很困惑为什么attr_accessor方法既不重复(嗯,它们不应该是,因为名称writer不同),在活动对象之外访问它们时=也没有任何不同(除了writer需要参数)。

我的问题包含在此代码中(在第二条评论中)

我想知道为什么t.number = 13有效,当它指向一个应该只返回一个数字的方法时,而且当t.number=(13)它不被调用时它如何设置一个新值。

0 投票
1 回答
17431 浏览

ruby-on-rails - rails 4中的虚拟属性

如何在 rails 4 中使用虚拟属性(getter、setter),因为删除了“attr_accessible”。

我遇到问题,在这里

尝试更新/创建时,我可以达到上述方法,但无法达到下面的设置器。

0 投票
3 回答
3780 浏览

ruby-on-rails-3 - 使用方法调用在 attr_accessor 中指定属性列表

我想创建大量属性,如果使用这样的方法调用构建这些属性,可以轻松完成,

这是行不通的。有没有其他方法可以实现这一目标?

任何帮助将不胜感激。

0 投票
2 回答
1723 浏览

ruby-on-rails - 按 attr_accessor 排序模型对象

当我必须对对象列表进行排序时,我认为 attr_accessor 具有与另一个相同的行为,但似乎不同:

但@sortedData 没有被排序......

0 投票
1 回答
621 浏览

ruby-on-rails - 在 Ruby on Rails 4 上覆盖属性访问器

我有一个 Restriction 模型,它代表一个formula. 该字段formula是在运行时评估的字符串。出于安全原因,无法从外部访问此字段,因此我正在尝试覆盖访问器。

在 Rails 控制台中:

formula不是改变值。我究竟做错了什么?

PS:你可以看到我也覆盖了[](value)and []=(key, value)。这是由于我之前的问题

0 投票
1 回答
7592 浏览

ruby - attr_accessor 跨多个类?

我有一个包含许多不同类的模块(分为单独的文件)。每个类都有相同的集合attr_accessor,那么我怎样才能重用它而不是重复attr_accessor块呢?

我现在在做什么......

我试过这样做没有运气......

我需要在我的应用程序(它是一个 Rails 应用程序)中直接访问这些模块。例如:Animals::Dog.give_water

0 投票
1 回答
1370 浏览

ruby - 如何在 ruby​​ 中删除 attr_accessor

在 ruby​​ 中,如果我有一个类greet并且当 name 是 class 的实例变量时say_hi打印出方法,并且我允许通过添加访问,那么现在我可以直接更改."Hello #{@name}"greet@nameattr_accessor :name@name

attr_accessor但是,如果我不再希望人们能够直接更改,我该如何删除它@name

0 投票
2 回答
470 浏览

ruby - 'attr_accessor' 在 Ruby 中创建对象的目的是什么?

在我展开我的问题之前,让我声明我已经阅读了这里这里这里的问题的答案。因此,要求您不要将我的问题标记为与那些答案一样重复并没有让我理解attr_accessor. 我的问题更多与逻辑有关,而不是语法。

我在下面创建了两组代码。这些集合彼此相同,只是其中一个集合根本没有attr_accessor线。当我运行两组时,它们都给了我相同的输出。attr_accessor那么,从逻辑上讲,当两组代码给我相同的预期输出时,这行代码有什么区别?

代码集 1:

代码集 2:

Both sets of code call the Animal class to create new instances of animal objects WITH names. I stress on "...WITH names." because the attr_accessor (in the 2nd set) is defining the :name attribute. But in the 1st code set, I have deleted the attr_accessor but still managed to create object instances with the name attribute.

0 投票
1 回答
106 浏览

ruby - attr_accessor 打破了我在 Rails 中的两个方法

我有一个用户模型。它的一个属性是一个名为的字符串:access,它可以是 nil、“admin”或“active”。

现在在 User 模型中,我有以下方法:

他们工作正常。但是,如果我添加attr_accessor :access到模型中,就会出现问题。我的admin?active?方法不再起作用。当我进入 rails 控制台并从数据库中获取用户时,我可以看到user = User.find(7)显示access设置为“admin”。但如果我输入user.access它会返回nil. user.admin?返回false