我有一个数据库项目和两个项目。它们的列名为“popular”,我将其设置为0。
class Item < ActiveRecord::Base
attr_accessible .. :popularity, ..
before_create :default_values
def default_values
if self.popularity.nil? == true || self.popularity.blank? == true || self.popularity.class != Integer
self.popularity = 0
end
end
如何通过code \ console更改此值并保存? 我试过了
Item.find(1).popularity = 1
Item.save
但它没有保存我的val。怎么了?
答案 0 :(得分:9)
这是解决方案
item = Item.find(1)
item.popularity = 1
item.save
答案 1 :(得分:1)
item = Item.first
item.popularity = 1
item.save
答案 2 :(得分:1)
Item.update(1, popularity: 1)
运行验证并保存。
引发不存在的记录。
有关更新属性https://zaiste.net/posts/rails-activerecord-updating-attributes-object-fields/
的更多信息答案 3 :(得分:0)
另一种单行替代方法:
public ActionResult AccessToken(string authorizationCode)
{
UserFunctions.AccessToken(authorizationCode);
List<UserApplications> results = UserFunctions.userApplications;
var data = from p in results
group p by p.AppFormName into g
select new { AppFormName = g.Key, Questions = g.Select(x=> new { QuestionName = x.QuestionName, QuestionType = x.QuestionType}).ToList() };
return Json(data , JsonRequestBehavior.AllowGet);
}