#4 楼 @blacktulip 不要轻易露出 html_safe 和 raw
http://ruby-china.org/topics/12008?page=1
没贴代码之前我认为代码没写好的可能性更大,partial 我一向正常用,该用就用。
我想了想,一个 update 接口的话在发布 api 的时候有好处。做成校验的话大概是这样
validates :xxx, length: { maximum: aaa }, :if => :role_admin?
validates :xxx, length: { maximum: bbb }, :if => :role_editor?
attr_accessor :update_role
def role_admin?
update_role == :admin
end
def role_editor?
update_role == :editor
end
在 controller 调用的时候
some_object.update_attributes object_params.merge(:update_role => current_user.role_for(@project))
区分不同的 action。model 加太多校验后续加功能的时候会变成负担。更分层一点可以做些中间操作对象。
在 controller 里面的逻辑写 controller test
#4 楼 @loveltyoic 可以把 params
这个参数传给 url helper,例如
search_path(params.merge :new_colun => 'value')
得出当前查询条件再加上新条件的地址。
或者放在 js 做,这样查询条件区域可以缓存起来。
数据量大了上搜索引擎,搜索引擎消耗也太大就把搜索结果按查询条件缓存。
一般做法是在当前查询条件上再加查询条件,服务端根据新的条件再查一次
男女搭配干活不累,但我觉得这个不要低俗化,拍张男女平衡朝气蓬勃的合照就好了。
肯定是男孩子。
跟着书学,社区 wiki 更新并不及时。
是 to_json 处理。
试试
get do
User.find(...).to_json(:methods => [:name])
end
我没用过 Grape,不知道是否正确。
MySQL 的 in 查询也不行,即使加了索引。所以这个问题最后要用 cache 解决。
不过我也没做过严谨测试。
#3 楼 @cameo 奥,我搞错了,counter 是这个 https://github.com/nateware/redis-objects
unique 是指针对哪个条件?
td 前面一个空格,= 前面 5 个空格,都是不合法的。
Ruby China 的实现逻辑在这里 https://github.com/ruby-china/ruby-china/blob/master/app/models/mongoid/counter_cache.rb
我做的话会直接调用 mongoid 的 inc 操作。http://mongoid.org/en/mongoid/docs/persistence.html
参考 Ruby China 的 Gemfile https://github.com/ruby-china/ruby-china/blob/master/Gemfile
除了 Mongoid 外还有相关的 *-mongoid gem 要升级,很多都只有 git,未发稳定版。
#27 楼 @yunzifeiyu 1 年
user.organization.organName
保存到 Dropbox?Dropbox 每次修改都记录版本。本地保存的问题是保存再多的版本,硬盘挂了就都没了。
优秀的程序员不会在生产环境测试。
看了历史记录还真是后加的 https://github.com/discourse/discourse/commits/master/app/views/categories/index.html.erb
Show something on categories page when js is disabled