- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 Rails 模型上使用 ActiveResource 实现基本的 CRUD 操作。文档说创建一个 ActiveResource::Base
的子类,然后设置 self.site
。
在我尝试更新已获取的现有记录之前,此方法运行良好。我看到的错误是“MassAssignmentSecurity::Error
”,当我调用 ActiveResource 对象上的 'save()'
方法时,由于 created_at
和 updated_at
字段不可访问。
我发现如果在我的模型类上用 attr_accessible
标记这些字段它工作正常,但这似乎是一个非常不安全且非常糟糕的解决方案。
下面显示了问题的示例:
rails new TestApp
cd TestApp
rails generate scaffold User first:string last:string
rake db:create
rake db:migrate
rails server
在我使用的不同终端选项卡上:
irb
require 'active_resource'
class User < ActiveResource::Base
self.site = 'http://localhost:3000'
end
u = User.new()
u.first = 'John'
u.last = 'Shine'
u.save()
#This saves ok
nu = User.find(1)
nu.first = 'Geoff'
nu.save()
#This never works
有更好的解决方案吗?
最佳答案
假设您想要丢弃时间戳字段并让 Rails 自动创建它们(正常情况下),我将从应用程序内的新 json/xml 模板获取数据,该模板不包含时间戳字段。
同时假设您可以访问提供数据的应用程序,您可以将类似下面的内容添加到您的 Rails 模型中进行测试,它会覆盖(可以称之为“使用”)json 模板的 as_json 方法。
def as_json(options = {})
super(:except => [:created_at, :updated_at])
end
这将更新 Rails 服务器本身提交的时间戳。
或者,您应该看看 RABL 和 jbuilder,因为它们都是不错的选择。
关于ruby-on-rails - 时间戳字段的 ActiveResource MassAssignmentSecurity 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14812598/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!