问题标签 [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 投票
4 回答
101 浏览

ruby - 函数名后跟赋值运算符

下面的函数定义是什么意思?为什么函数名中有赋值运算符?

0 投票
0 回答
59 浏览

ruby-on-rails - 无法批量分配受保护的属性

我刚刚在我的表中添加了一个名为coverimage 的新列。

在 _form 中使用它供用户发布链接,我收到以下错误。

通常我只会在模型上添加 attr_accessor :coverimage,但由于我使用的是 static_pages gem,我无法在应用程序上找到模型,这就是我的 gemfile 的样子。

有解决方法还是我错过了什么?

谢谢!

0 投票
1 回答
777 浏览

ruby-on-rails - Ruby 类中的属性始终设置为 null

我正在尝试学习 Ruby 和 rails,并决定遵循 Michael Hartl 的教程。在第 6 课中,即创建用户数据库时,我返回查看/修改,现在每当我尝试初始化 User 类的新实例时,所有属性都设置为 null。

这是 User.rb

在 Rails 控制台中,我将输入

User.new(:name => "master", :email => "dude@mail.com")

对于所有属性,结果将仅返回 nil。它应该返回我用它初始化的值。我的 User.rb 文件是否有问题不允许属性初始化?我觉得这应该很容易解决,但我对 ruby​​ 和 rails 很陌生。

注意:我的rails版本是4.1.1,ruby是1.9.3

0 投票
1 回答
1320 浏览

ruby-on-rails - attr_accessor 返回零?

我想要一个可以在控制器中使用的临时属性。
我认为attr_accessor这是最好的方法。
但是当我提交users_binded-input 时,出现以下错误:

Template is missing: Missing template schedule/invite_now, application/invite_now with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in: * ../views

我想users_binded在数据库中找到带有 -input 的用户,正如您在控制器中看到的那样。
我不知道如何在控制器中使用临时属性。
应该是Schedule.users_binded还是:users_binded其他?

调度模型:


时间表视图:


调度控制器:


路线:


编辑:
我将控制器更改为:

这样我就不需要invite_now.html.erb.
发生的问题如下(可能存在 attr_accessor 问题):
SQL 语句
user_binded = User.find_by_name(params[:user_binded])
返回/加载
User Load (1.0ms) SELECT "users".* FROM "users" WHERE "users"."name" IS NULL LIMIT 1
因此 attr_accessor 不正确?
正如Doon所说:“attr_accsessor 将用于实例。”
解决方案如下?

仅当属性类型可以是所有内容(例如用户类型)时才有意义。
有任何想法吗 ?


EDIT2:
我尝试params[:users_binded]使用以下内容进行检查:
flash[:notice] = params[:users_binded]
并发生此错误:
can't convert nil into String,因此参数 users_binded 将无法正确设置。

RAJ ...说我应该将参数添加到问题中:

我认为这是问题所在..

0 投票
1 回答
1174 浏览

ruby-on-rails - ActiveAttr gem 中属性和 attr_accessor 的区别?

我正在尝试使用 active_attr gem 创建由 NoSQL 数据库支持的模型,该数据库似乎没有任何其他符合我们需求的 ORM 或映射器。

在文档 ( https://github.com/cgriego/active_attr ) 中,它显示了定义属性的示例,仅attribute使用attr_accessor. 我不太确定我看到了区别。有人能解释一下我什么时候应该使用另一种吗?

0 投票
4 回答
8360 浏览

ruby - Ruby 私有和公共访问器

在 Ruby 中定义访问器时,简洁(我们都喜欢)和最佳实践之间可能存在矛盾。

例如,如果我想在实例上公开一个值但禁止任何外部对象更新它,我可以执行以下操作:

但是突然间我使用了一个原始的实例变量,这让我抽搐。我的意思是,如果我需要在设置未来日期之前处理 has_sauce,我可能需要做更多的重构,而不仅仅是覆盖访问器。来吧,原始实例变量?布莱赫。

我可以忽略这个问题并使用attr_accessor. 我的意思是,如果他们真的想,任何人都可以设置属性;毕竟,这是 Ruby。但是后来我失去了数据封装的想法,对象的接口定义不太好,系统可能更加混乱。

另一种解决方案是在不同的访问修饰符下定义一对访问器:

这可以完成工作,但对于一个简单的访问器来说,这是一个样板文件,坦率地说:ew。

那么有没有更好、更 Ruby 的方式呢?

0 投票
0 回答
291 浏览

ruby-on-rails - Attr_accessor 和子类

我有用户模型和两个子类 Developer 和 Buyer(子模型)。在每个模型中,我都有恒定的字段。

在模型用户

我有一些错误NoMethodError: undefined methodcountry=' for #<Developer:

我的错误是什么?

更新

我的请求d = Developer.first

0 投票
1 回答
41 浏览

ruby - 在运行时创建自定义访问器

我正在做一个 Ruby 项目。由于我正在学习,我正在尝试以正确的方式做事。我想解析一个简单的配置文件(param = value),这部分就完成了。现在我想做类似的事情:

事实上,我希望配置文件中的每个参数都可以像这样访问。这只是我的第一个想法,因为它看起来不错,而 ruby​​ 似乎是一种可以做到这一点的语言。如果你有更好的主意,我接受;)(我也想到了一个愚蠢的哈希,但是写 ConfigFile::h[:default_ip] 很长)

我知道我应该在某处使用 attr_accessor 。但是我的元编程技能非常有限,所以如果有人可以分享一些关于这方面的信息,我将非常感激!

谢谢

日光

编辑1:

现在我已经这样做了,但这对我来说看起来不太好:

0 投票
0 回答
29 浏览

ruby - Ruby 的 attr_accessor vs setter 方法 vs 局部变量

我定义了以下类

但是如果我运行:

Ruby 给出了一个错误,尽管预期的输出应该是 1

错误信息:

编辑: 主要问题是,这条线在做什么:my_var = my_var + 1

是调用setter方法吗?或者它是否试图分配一个局部变量?在任何一种情况下,为什么它会给出它给出的错误消息?

0 投票
2 回答
812 浏览

ruby - 无法在 ruby​​ 中访问类外部的实例变量

在我的代码中尝试p @stack在课堂外打印时,nil尽管放置了attr_accessor :stacks, :each_stack_size, :stack_number. 像往常一样,它工作正常,并在类内使用时显示数据。我错过了什么?