想得美 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
我已经在做自己的项目了,所以没有时间参与。挺期待这个服务上线。
bundle install 呢?
现在希望用系统 ruby 还是 rvm?把 PATH 输出看一下 echo $PATH
多人开发就是 gem 版本完全对着 Gemfile.lock,如果要锁 Ruby 版本就加上 .rvmrc(不过对方可以忽略)。
在某版本下安装的 rails,是不是只和这个版本的 ruby 相对应,不是独立的呢
RVM 管理的每个版本 Ruby 都有一个 gems 目录,相互独立。ls $rvm_path/gems
bundle install 提示什么错误?
系统本地的 ruby 和 rvm 管理的 ruby 的 gems 是独立的,而且 rvm 管理的不同的 ruby 的 gems 也是独立的。
正确安装 rvm 的话,切换到什么 ruby,就是用什么 gems 集,环境变量都已经设置好不用自己设。
提问要把意图描述清楚。
@active_users = User.order('topics_count, comments_count').limit(12)