问题标签 [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.
xml - rti/FastXml 或类似的东西是否可以与 rails 3 一起使用来加速 xml 渲染?
我们在rails 3中实现了一个 REST api ,它使用yajl
后端用于json
. 它目前生成json
响应的速度明显快于xml
序列化超过 20 行时。
我的下一个想法是,rail 3 必须有一个类似的 C 库插件,它将使用libxml
或类似 for to_xml
,就像我们已经在使用libyajl
for一样to_json
。
迄今为止,我只找到了rti/FastXml项目:https
://github.com/rti/FastXml
它声称是我想要的,但自 2010 年初以来一直没有更新,并且没有可见的分叉。
有谁知道FasterXml是否适用于rails 3?
更重要的是,有没有人知道让 rails 3 更快的其他方法render :xml => @search_results
?
非常感谢您的帮助。
ruby-on-rails - 如何为 ToyStore 模型构建观察者?
给定一个模型:
我可以ActiveModel::Observer
用来构建观察者吗?我删除了 ActiveRecord 框架,因为我没有在我的 Rails 应用程序中使用它。
添加观察者,如:
似乎不起作用。在应用程序配置中包含观察者不起作用,因为 ActiveRecord 框架已被移除。
ruby-on-rails - 控制 rails 验证的顺序
我有一个 rails 模型,它有 7 个由用户通过表单填写的数字属性。
我需要验证每个属性的存在,这显然很容易使用
但是,我还需要运行一个自定义验证器,它需要一些属性并用它们进行一些计算。如果这些计算的结果不在一定范围内,则应宣布该模型无效。
就其本身而言,这也很容易
然而问题是方法“验证”总是在方法“验证”之前运行。这意味着如果用户将必填字段之一留空,rails 在尝试使用空白属性进行计算时会引发错误。
那么如何首先检查所有必需属性的存在呢?
ruby-on-rails - Rails 3: Dependent => :deny 还是类似的?
我有一个模型“位置”,其中有许多“课程”
如果我销毁一个位置,我希望拒绝销毁请求,除非该位置与任何课程之间没有关系。我认为有一些非常简洁的方法可以做到这一点,但我找不到任何东西。
Soo ...启用此类功能的最优雅/简单/简洁的方式是什么?
ruby-on-rails - ActiveModel::SecurePassword 未定义方法 `password_digest='
最后我闯红灯...
用户.rb
工厂.rb
spec_user.rb
我得到一个红灯...
我认为这是 rake db:migrate 问题,我查看了 rails c ,但显然 password_digest 已定义。
ruby-on-rails - Rails 3自定义格式验证错误?
使用此模型:
作为一个相当人为的例子。错误出现为:
我如何自己提供格式?
我查看了源代码,ActiveModel::Errors#full_messages
它是这样做的:
注意:default
选项中的格式字符串?所以我尝试了:
但随后错误消息实际上显示为:
然后我尝试包括插值字符串%{message}
,从而覆盖%{attribute} %{message}
Rails 默认使用的版本。这会导致异常:
SubscriptionsController#create 中的 I18n::MissingInterpolationArgument
"%{message}" ({:model=>"Subscription", :attribute=>"Email", :value=>""} 中缺少插值参数
然而,如果我使用插值字符串%{attribute}
,它不会出错,它只是两次吐出人性化的属性名称。
有人有这方面的经验吗?我总是可以先有属性名称,但通常我们需要一些其他字符串(营销人员总是让事情变得更复杂!)。
ruby-on-rails - 调用 new 后 ActiveModel 销毁
我正在使用遵循此处解释的 resource_controller 原则的控制器。
如您所见,我无法完全控制(新建、创建等)所有这些预加载数据,这意味着如果我想创建一个新实体,假设@user
已经调用了以下代码@user = User.new
。
我可以包含一些验证的唯一方法是通过回调,但是一旦回调决定取消新方法,我总是会遇到 Hash freeze 错误。换句话说,我不能说
@user = User.new
@user.destroy
我能想出的唯一技巧是
@user = User.new
@user.save
@user.destroy
有谁知道更好的方法,不涉及将内容保存到数据库?顺便说一句,活动记录和活动模型有什么区别?
ruby-on-rails-3 - 在 Rails 3 ActiveModel 中自定义验证出错
我正在尝试使用Date Validator Gem,但我遇到了一个错误,我不确定是不是因为模型不是 Active Record(我见过有人建议 ActiveModel 中的验证有点时髦不在 ActiveRecord 中时)。
我正在使用 Ruby 1.9.2 和 Rails 3.0.7。我已经附上了下面的课程和错误。
提前感谢您的帮助!
班级
Rails 控制台出错
ruby-on-rails - 访问模型属性的动态范围
我目前正在使用 Rails 3 中的批量分配安全性来确定用户可以更新其模型的级别。例如,此代码允许我根据用户级别保护属性。
我希望能够对查找时出现的属性使用相同的想法。例如,我想说
并取回信用等级。将此与做相比
并取回除 credit_rating 之外的所有属性
这是rails支持但我错过的东西吗?
ruby-on-rails - ActiveRecord has_attribute 的 ActiveModel 等效项?
我使用 ActiveModel 是因为我连接到第三方 API 而不是数据库。我已经编写了自己的初始化程序,这样我就可以传入一个哈希并将其转换为模型上的属性——以支持应用程序中的某些表单。
问题是我想使用相同的模型来处理来自 API 的数据检索,但这有很多我并不真正关心的其他数据。因此,我想在迭代从 API 返回的哈希时进行检查,并检查该属性是否存在于我的模型中,如果不存在则忽略它。这应该允许我对表单帖子和从 API 返回的数据有一个一致的模型。就像是:
我查看了 ActiveModel API 文档,但似乎没有等价物。这让我觉得我应该以不同的方式做这件事。
这是正确的(Rails)方法吗?当数据来自不同来源时,如何确保我具有一致的模型属性?