问题标签 [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.
ruby - 函数名后跟赋值运算符
下面的函数定义是什么意思?为什么函数名中有赋值运算符?
ruby-on-rails - 无法批量分配受保护的属性
我刚刚在我的表中添加了一个名为coverimage 的新列。
在 _form 中使用它供用户发布链接,我收到以下错误。
通常我只会在模型上添加 attr_accessor :coverimage,但由于我使用的是 static_pages gem,我无法在应用程序上找到模型,这就是我的 gemfile 的样子。
有解决方法还是我错过了什么?
谢谢!
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
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 ...说我应该将参数添加到问题中:
我认为这是问题所在..
ruby-on-rails - ActiveAttr gem 中属性和 attr_accessor 的区别?
我正在尝试使用 active_attr gem 创建由 NoSQL 数据库支持的模型,该数据库似乎没有任何其他符合我们需求的 ORM 或映射器。
在文档 ( https://github.com/cgriego/active_attr ) 中,它显示了定义属性的示例,仅attribute
使用attr_accessor
. 我不太确定我看到了区别。有人能解释一下我什么时候应该使用另一种吗?
ruby - Ruby 私有和公共访问器
在 Ruby 中定义访问器时,简洁(我们都喜欢)和最佳实践之间可能存在矛盾。
例如,如果我想在实例上公开一个值但禁止任何外部对象更新它,我可以执行以下操作:
但是突然间我使用了一个原始的实例变量,这让我抽搐。我的意思是,如果我需要在设置未来日期之前处理 has_sauce,我可能需要做更多的重构,而不仅仅是覆盖访问器。来吧,原始实例变量?布莱赫。
我可以忽略这个问题并使用attr_accessor
. 我的意思是,如果他们真的想,任何人都可以设置属性;毕竟,这是 Ruby。但是后来我失去了数据封装的想法,对象的接口定义不太好,系统可能更加混乱。
另一种解决方案是在不同的访问修饰符下定义一对访问器:
这可以完成工作,但对于一个简单的访问器来说,这是一个样板文件,坦率地说:ew。
那么有没有更好、更 Ruby 的方式呢?
ruby-on-rails - Attr_accessor 和子类
我有用户模型和两个子类 Developer 和 Buyer(子模型)。在每个模型中,我都有恒定的字段。
在模型用户
我有一些错误NoMethodError: undefined methodcountry=' for #<Developer:
我的错误是什么?
更新
我的请求d = Developer.first
ruby - 在运行时创建自定义访问器
我正在做一个 Ruby 项目。由于我正在学习,我正在尝试以正确的方式做事。我想解析一个简单的配置文件(param = value),这部分就完成了。现在我想做类似的事情:
事实上,我希望配置文件中的每个参数都可以像这样访问。这只是我的第一个想法,因为它看起来不错,而 ruby 似乎是一种可以做到这一点的语言。如果你有更好的主意,我接受;)(我也想到了一个愚蠢的哈希,但是写 ConfigFile::h[:default_ip] 很长)
我知道我应该在某处使用 attr_accessor 。但是我的元编程技能非常有限,所以如果有人可以分享一些关于这方面的信息,我将非常感激!
谢谢
日光
编辑1:
现在我已经这样做了,但这对我来说看起来不太好:
ruby - Ruby 的 attr_accessor vs setter 方法 vs 局部变量
我定义了以下类
但是如果我运行:
Ruby 给出了一个错误,尽管预期的输出应该是 1
错误信息:
编辑:
主要问题是,这条线在做什么:my_var = my_var + 1
是调用setter方法吗?或者它是否试图分配一个局部变量?在任何一种情况下,为什么它会给出它给出的错误消息?
ruby - 无法在 ruby 中访问类外部的实例变量
在我的代码中尝试p @stack
在课堂外打印时,nil
尽管放置了attr_accessor :stacks, :each_stack_size, :stack_number
. 像往常一样,它工作正常,并在类内使用时显示数据。我错过了什么?