既然什么想不到的词都能成为关键词,那就不要想了。
ActiveRecord
赞同 @reus ,简单最好。
我上午发过一个贴,现在这个状况也适合:疏忽大意的危险在于每个人都认为自己没有疏忽大意。没有摔过跤,就总会觉得悲剧不会在自己身上发生。我也是挂过一次服务器才养成了每日备份的意识。
想得美 XD
rework XD
多年以后,我们仍未知道 2012.12.21 那天之后 Ruby China 发生了什么……
# 给现有 topic 加 tag
topic = Topic.find id
Tag.create :name => 'tagname', :topic => topic
app/assets/javascripts/home.js.coffee
这个文件里面代码有错。
没看见有七牛相关的代码啊?
#27 楼 @woody1983 http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/belongs_to
似乎是 :primary_key,我还没用过
belongs_to :person, :primary_key => "name", :foreign_key => "person_name"
如果你用默认的 id 做关联,就没必要经常更新外键了。
其实很明了了,AR 不支持更改 id,因为 id 的定义就是永远不改变的字段。
像订单号这样的数据应该另开一个字段,因为人工定义的字段没什么是不变的,身份证号就变过一次。
我不知道了,一个个 gem 去掉看看。
#23 楼 @woody1983 update_column 的意思就是脱离 AR 掌控更新一个字段
def update(attribute_names = @attributes.keys)
attributes_with_values = arel_attributes_values(false, false, attribute_names)
return 0 if attributes_with_values.empty?
klass = self.class
stmt = klass.unscoped.where(klass.arel_table[klass.primary_key].eq(id)).arel.compile_update(attributes_with_values)
klass.connection.update stmt
end
def arel_attributes_values(include_primary_key = true, include_readonly_attributes = true, attribute_names = @attributes.keys)
...
AR 特地吧 primary_key 排除了,就是不建议更新。一定要更新的话用 SQL 吧。
def find_one(id)
id = id.id if ActiveRecord::Base === id
if IdentityMap.enabled? && where_values.blank? &&
limit_value.blank? && order_values.blank? &&
includes_values.blank? && preload_values.blank? &&
readonly_value.nil? && joins_values.blank? &&
!@klass.locking_enabled? &&
record = IdentityMap.get(@klass, id)
return record
end
column = columns_hash[primary_key]
substitute = connection.substitute_at(column, @bind_values.length)
relation = where(table[primary_key].eq(substitute))
relation.bind_values = [[column, id]]
record = relation.first
unless record
conditions = arel.where_sql
conditions = " [#{conditions}]" if conditions
raise RecordNotFound, "Couldn't find #{@klass.name} with #{primary_key}=#{id}#{conditions}"
end
record
end
如果 IdentityMap 没开应该没缓存啊。
装了什么插件吗?
有缓存
update: 我查查先
看日志,把响应时间长的过滤出来。
#11 楼 @shiren1118 我也看不懂 devise
我看书的时候,如果发现能看得很快,就觉得这本书里没讲什么我不知道的东西。
这是 patch?可以回馈给上游啊。
老师比较喜欢 1
我已经在做自己的项目了,所以没有时间参与。挺期待这个服务上线。