问题标签 [activemodel]
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-on-rails-3 - 如何覆盖 ActiveRecord CRUD 操作?
是否有可能我使用“rails generate model...”创建我的模型,它创建了所有的 CRUD 内容,包括用于创建、更新和删除的视图,然后我覆盖 rails CRUD 方法来做其他事情,例如将它们全部打印出来管他呢?
我需要将我的模型编码为 JSON 并将其发送到将其保存到数据库中的中间件。
一个小例子真的会有所帮助......非常感谢......
请帮忙!
ruby-on-rails - ActiveModel:关联模型失败时禁用失败验证
默认情况下, Rails3 是否总是validates_associated
针对所有模型运行?
在这样的简单设置中
带有附加评论的新帖子失败,因为评论无效。
如果validates_associated
总是运行,那么为什么会出现(改变:message
?)以及如何将其关闭?我试过validates_associated :comments, :unless => proc{true}
了,但它什么也没做。
我只是想要一个模型来保存,如果每个关联记录都有效,则尝试保存每个关联记录,但如果关联模型无效,则不会失败。
编辑:这更接近我想要做的事情
还有更多模型遵循与 Game 相同的结构,例如 Book、Movie。如果WikipediaParagraph.paragraph == nil
那么游戏验证失败。我希望游戏保存而 WikipediaParagraph 没有保存,但has_one :wikipedia_paragraph, :validate => false
两者都保存,没有它既不保存。
我希望有比使用更优雅的东西
对于每个人has_one/many
,但现在我意识到这可能是不可能的。
ruby-on-rails - ActiveModel - View - Rails 中的控制器而不是 ActiveRecord?
我正在尝试对我的模型使用 ActiveModel 而不是 ActiveRecord,因为我不希望我的模型与数据库有任何关系。
下面是我的模型:
这是我的控制器:
而我的观点是:
但是当我在浏览器中加载这个视图时,我得到了一个异常:
谁能帮我解决这个问题?
提前谢谢了!
ruby-on-rails-3 - Rails,创建回调
我想在对对象进行投票后调用ActiveModel 回调,问题是我使用的 gem ( voteable_mongo ) 使模型可投票并没有像我的应用程序中的投票模型或回调那样提供,所以如何我可以为它创建一个回调吗?
很明显我做的那个投票动作,但是我使用的 gem 有这个方法,你将如何正确扩展这个方法来触发回调?
ruby-on-rails - Rails:将模型(未绑定到活动记录)作为 xml 返回
我有一个未绑定到活动记录的模型类。
模型充当处理状态持有者,最终将返回给调用方法。
由于这是作为活动资源方法调用的,因此需要作为 xml 返回(序列化)。这是我的操作方法:
不过,这似乎没有返回有效的 xml。
如果我尝试输出@process_status
以下内容
这就是我得到的:
对象是#<ProcessingStatus:0x00000005e98860>
请告诉我我错过了什么。
编辑#1,
根据下面的评论,我修改了我的代码以包含序列化库。
我越来越近了:) 现在为 .xml 请求获取如下输出。但是我分配的值没有反映。
但是当我发出 json 请求时,它看起来是正确的!
ruby-on-rails - ActiveModel::MissingAttributeError 在部署后发生,然后在一段时间后消失
我有一个 Rails 3.0.9 应用程序,一旦部署,就会遇到一堆 ActiveModel::MissingAttributeErrors,这些错误会导致 500 秒。这些错误是随机发生的,有时会加载页面,有时则不会,但属性都是数据库中现有的属性,应该可以找到。
奇怪的是,过了一会儿,错误就消失了。突然间,它们不再引起问题。
我一直在寻找解决这个问题的方法,但是这个错误主要发生在有人已经完成Model.all(:select => 'column_x,column_y')
并正在调用column_z
或者他们正在使用 cache_money 时。我没有做这两件事。
任何人都可以帮忙吗?
ruby-on-rails - 默认 ActiveRecord/ActiveModel ::错误是匿名的
默认 ActiveModel::Errors 很好,但我正在解决问题,消息是匿名的。例如有should look like an email address.
属于email
字段的消息,但我想知道这个错误消息是format
类型。另一个消息doesn't match confirmation
是confirmation
类型。
有没有更好的错误的宝石,或者你们中的任何人都知道猴子补丁吗?
谢谢
ruby-on-rails-3 - 覆盖 rails 默认验证器
我正在开发一个插件。在这个插件中,我用一些额外的行为扩展了 activerecord。由于我的更改,Rails 中的 'validates_uniqueness_of'-validator 应该进行一些更改,以了解我的更改并按预期运行(我真正需要做的唯一事情就是将范围应用于此验证器)。
我的问题是:
如何在我的插件中重写/更改 AR 的默认 'validates_uniqueness_of'-validator?
谢谢你的时间!
欧文
ruby-on-rails - 使用 ActiveModel 实现“联系我们”表单时遇到问题
我正在使用 Ruby on Rails 3.0.9,并且我正在尝试自己实现“联系我们”表单。所以...
...在我的模型文件中,我有:
...在我的视图文件中,我有:
...在我的路由器文件中,我有:
...在我的控制器文件中,我有:
使用上面的代码,当我提交带有至少一个空白字段的表单(我这样做是为了使其不通过验证)并且重新加载表单时,我不会自动填充这些字段。也就是说,在重新加载表单后(这发生在按下提交按钮之后)字段值全部设置为空白值。
问题是什么?我用错了ActiveModel
吗?
ruby-on-rails - 在使用 DelayedJob 时遇到带有类属性的 ActiveModel
我正在使用 Ruby on Rails 3.0.9 和 DelayedJob 2.1,并且我正在尝试使用 ActiveModel 功能实现自己的“联系我们”表单。所以...
...在我的模型文件中,我有:
...在我的视图文件中,我有:
...在我的路由器文件中,我有:
...在我的控制器文件中,我有:
一切正常,除非我使用与电子邮件模板中的类属性相关::Pages::Mailer.delay.contact_us(@contact_us)
的方法的代码full_name
full_name
(但是,它在电子邮件模板中我不调用该full_name
方法时有效)。也就是说,当我将以下电子邮件模板与 Dalayed Job 一起使用时,我得到一个undefined method 'full_name\' for #<ContactUs:0x000001041638c0> \n/RAILS_ROOT/app/views/pages/mailer/contact_us.html.erb
:
当我使用上面没有Dalayed Job 的电子邮件模板(即使用::Pages::Mailer.contact_us(@contact_us).deliver
代码)时,它可以工作。
相关邮件代码为:
但是,如果我发送一封::Pages::Mailer.delay.contact_us(@contact_us)
包含 a@message_content.inspect
而不是的简单电子邮件(使用 ),@message_content.full_name
我会在收到电子邮件时得到以下输出(注意full_name
实例变量存在!):
Dalayed Job 有什么问题,我该如何解决?
我真的不明白为什么会发生这种情况,因为我有full_name
类似的工作,例如,email
所有工作的属性。我还尝试重新启动我的 Apache2 服务器。