【发布时间】:2013-04-23 20:44:05
【问题描述】:
我正在为 iPhone 应用程序的后端构建 Rails 服务器。 Rails 将 JSON 发送到前端,我发现自己正在做这样的事情。
@user = User.find(1)
@user["status"] = "Some cool status"
render :json => @user.to_json
在我的 rspec 测试中,我得到了
DEPRECATION WARNING: You're trying to create an attribute `status'. Writing arbitrary attributes on a model is deprecated. Please just use `attr_writer` etc.
我发现很难找到合适的替代方案,因为将键值写入将发送到 iPhone 的对象同样容易。
我的问题是,除了弃用之外,我的代码有哪些可行的替代方案,以及我的代码有哪些特别“错误”的地方。
【问题讨论】:
-
您是否有不想使用
attr_accessor的原因? -
有时我可能会将属性设置为一个唯一的名称,或者我会在极少数情况下使用这种技术。我不确定使用这种方法有多传统,因此我要问。
-
作为弃用状态,这不会被支持 - 请参阅stackoverflow.com/questions/10596073/…
-
是的,我知道。但是不写后端组件就很好了,因为它是任意使用和有用的东西。
标签: ruby-on-rails ruby ruby-on-rails-3 model