问题标签 [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 回答
136 浏览

ruby - 将方法命名为变量调用方法 Ruby

嗨,我是一个初学者。

我想我了解 attr_accessor 的工作原理(下)。而“setter”就是name=(name)方法。而且我知道该方法等效于赋值:name = "john"。因为“=”是一种接受参数并将该参数分配给调用它的任何对象的方法。(虽然我不明白如何将“名称”视为一个对象,因为它被分配给一个对象)

所以我的问题是:如何将调用方法的变量分配为方法名称?感觉好像错过了什么。。

0 投票
3 回答
383 浏览

ruby - 赋值符号如何工作 - Ruby

在 Ruby 中,如果我只是分配一个局部变量。

那是一种main.sound=("bang")方法吗?如果是这样,该方法“sound =”在哪里以及如何定义?或者那个任务是如何工作的?如果没有,实际发生了什么?

我知道对于 setter 方法,您会说 x.sound=("bang")。并且您正在使用参数“bang”在对象“x”上调用方法“sound=”。并且您正在创建一个实例变量“声音”。

我可以想象这一切。但不是当您在“主”对象中分配变量时。据我所知,它不是 Object 类的实例变量......或者是吗?我很混乱。

0 投票
2 回答
2236 浏览

ruby - attr_accessor 是否需要在 Ruby 中使用符号作为变量?

attr_accessor我见过的每个 s 示例都使用符号 ( :var) 作为变量。

这是使用的要求attr_accessor吗?如果是,为什么?如果不是,为什么会如此普遍?

0 投票
1 回答
101 浏览

ruby - Ruby 2.1.0 在实例变量具有默认值后重新分配它

我在过去一个月内刚刚学习了 Ruby,并且正在使用 RSpec 提高我的 TDD 技能。

我正在尝试通过以下测试:

这是我的代码:

我基本上正在尝试执行以下操作:

但是,在我尝试将颜色重新分配为绿色后,它仍然输出“黑色”,请帮忙。

谢谢。

0 投票
2 回答
61 浏览

ruby - attr_accessor 是如何知道 :player = @player 的?

这是代码:

现在,如果我写:

它显然会吐出来Robert

我对 Ruby 有点陌生,所以如果这个问题对你们所有人来说都是显而易见的,请原谅我。我还在努力把头绕在它周围。我正在学习“实例”、“类”和全局变量,我的问题是:Ruby 如何知道:player上面的代码中指的是@player? 为什么不写代码:@player呢?

这有任何意义吗?

0 投票
1 回答
610 浏览

ruby - 为什么 attr_accessor 将我的方法设为私有?

我想在一个类上动态定义 attr_accessor ,但它使生成的方法成为私有的。如果不使用正常的类语法或自己编写方法,如何使以下内容不引发错误?

0 投票
2 回答
1006 浏览

ruby-on-rails - Rails 4 attr_accessor doesn't work across multiple methods

My model looks like this:

I want to measure the elapsed time, and self.start_time exists within the start_time method. However, in my elapsed_time method, self.start_time is nil. Why is that?

I am using rails 4.1.0 and ruby 2.0.0.

0 投票
1 回答
3920 浏览

ruby-on-rails - 控制器中的 attr_accessor 用于存储权限

attr_accessor在我的控制器中使用来存储在 applicationController 中定义的方法中设置的权限,但我遇到了问题。如果我这样做:

然后rails声称perms=不存在

如果我做:

@perms在任何子控制器check_permissionsnil,我检查了哪些实例方法可用:print self.instance_variables@perms没有出现;可能是因为@perms正在为类实例设置而不是为调用操作时创建的控制器的对象实例

这是怎么回事?导轨不喜欢attr_accessor控制器吗?我怎样才能让它工作,这样我就可以在类中设置权限,并让该类的任何对象可以访问它们,这样我就可以像这样设置它们:

我必须使用self.set_permissions,否则当我尝试设置它们时它声称 set_permissions 不存在(因为它是对象方法而不是类方法)

编辑:为澄清起见,我希望在控制器中设置权限(但每个控制器都不同);对于该控制器的任何实例(即为操作创建的对象实例)或从该控制器继承的任何控制器(例如,节点控制器从 api 控制器继承,因此使用相同的权限)都是相同的,除非它是在该继承的控制器中单独定义的(令牌控制器继承自 api 控制器,但需要无权限,因此一个人实际上可以在不需要权限的情况下获得令牌)。

0 投票
1 回答
336 浏览

ruby-on-rails - attr_accessor vs 属性一个失败另一个

我在我的 rails 应用程序中使用她的gem 从 Web 服务后端而不是数据库获取数据。尽管我相信这个问题与宝石并不完全相关。

我的模型正在使用ActiveModel

我的控制器是

我有这样的表格

现在这里attr_accessor :name, :type需要模型内部的表单才能正常运行或抛出此错误

如果我attr_accessor在模型中添加,@merchant.attributes则返回{}

这导致 gem 向服务器发送空白请求,因为 gem 用于attributes构建请求。我检查了宝石的来源。

如果我不添加attr_accessor,那么一切正常,除了表单抛出错误。

有什么方法可以解决这个错误。老实说,我不清楚如何attributes工作。

0 投票
2 回答
2114 浏览

ruby-on-rails - 当我将数据放在 :notes 和 :place 上时,验证仍然失败

我认为,这段代码是正确的,但我不知道会发生什么?这是我的代码:

注册.rb:

我的控制器,

问题是,当我将数据放在:notesand上:place时,验证仍然失败。