我有一个 ActiveRecord 实体。当我调用entity.save
它时,returns和true
returnsentity.new_record?
是0。在entities 表中,新行仍以正确的递增id 插入。这很奇怪。false
entity.id
我的rails版本是3.2.8,数据库是Mysql,使用gem mysql2(0.3.11)。我已经为此苦苦挣扎了一整天...
添加的代码:json 是来自前端的字符串。
o = JSON.parse(CGI.unescape(json))
if o.has_key?('cls') then
@r = o['cls']
cls = o['cls']
#create
if o['action'] == 0 then
entity = Object.const_get(cls).new
o.each_pair do |k,v|
# entity.respond_to? check method exist
if defined? entity[k] then
entity[k] = v
end
end
r = entity.save!
和模型(由 rails g 模型生成):
class Node < ActiveRecord::Base
attr_accessible :iNodeId, :level, :name, :pNodeId, :stationId, :type
end