devise 就是 engine,我觉得需要 mount 的就可以作为 engine 吧。
#38 楼 @manageyp #39 楼 @benzheren 谢楼上两位,已经在用了。
有人和 Grape 一起用过吗?都显示为 Proc.call
getJSON 会对返回做判断的,如果格式不符合 json,不会执行 success 的 callback。 请求是没问题的。
render json: { data: name }
在.bash_profile 里
export xx='/workplace/rails/agile_web_dev_rails/dept'
在终端
cd $xx
这就是套娃机制啊,如果所有 Product 都没变化,直接取出整个缓存,再里面一层的都不用 care 的了。 反之,比如说新加了一条 product,最外层的 key 会发生变化,缓存失效,此时会重新组织页面。原来的每个 product 的缓存还是有效的,只需要为新增 product 做渲染,然后加进去。这样又组织出来最外层的一个缓存,直到有 product 发生变化。
我的理解:
https://ruby-china.org/topics/21488 精华区里有几篇缓存的文章,看我收藏
article 和 comment 是 has_many 的关系吧? 你这样是想取出什么呢? 所有
article.comments.map { |comment| comment.content }
某个 comment
article.comments.find(id).content
这个文章讲的很清楚了:http://www.jstorimer.com/blogs/workingwithcode/8085491-nobody-understands-the-gil。
因为 MRI 有 GIL,楼主的 thread 都是针对一个 arr 操作,所以会触发锁,因此并不会真正的并发执行。
#2 楼 @vianvio 先贴个链接https://ruby-china.org/topics/20367 事先声明,我也没并行编程经验。。。只是根据一些文章揣测。 用 jruby 跑一下看看有差别没,有可能是锁的问题?
个人理解:Thread 是共用内存,而 j 是在 thread 外定义的,所以 thread 执行的时候去会去读 j,但是 j 作为循环变量,一直在变,所以在 thread 中读取 j 要看执行的时候 j 增加到什么值了。k 是由 j 赋值的,j 重复,k 当然也重复了。
报名了,没回应,这个怎么审核的?
用 fontawesome 吧
这得自己写 sql 的 join 查询吧
可以在 User 中定义一个 format 数据的方法(可能有更简单的写法,暂时想不出来,欢迎指正)
class User
def post_infos
self.posts.inject({}) { |memo, post| memo.merge!({ post.post_key => post.post_value }) }
end
end
之后在 controller 里面
render json: @user.post_infos
长知识! 还有个问题请教: @zchar 以单页面应用来说,往往采取前后端分离的方式,比如用 Angular。我理解的是应该可以采取 Action 缓存来响应数据。请问这两种方式差别多大?
看不出有什么问题,再具体点。 可以指定 foreign_key,不知道你说的是不是这个
#4 楼 @andor_chen 买过并看过,中文的看着舒服,感谢翻译。不过已经改用 minitest 了~
Q#1,看源码
def scope(name, body, &block)
if dangerous_class_method?(name)
raise ArgumentError, "You tried to define a scope named \"#{name}\" " \
"on the model \"#{self.name}\", but Active Record already defined " \
"a class method with the same name."
end
extension = Module.new(&block) if block
singleton_class.send(:define_method, name) do |*args|
scope = all.scoping { body.call(*args) }
scope = scope.extending(extension) if extension
scope || all
end
end
会先调用定义的 scope 去查询,如果返回 nil, 会再次执行一次 all 查询,所以应该会看到两条 SQL 查询。
image = Rack::Test::UploadedFile.new(xxx_path)
post :create, picture: { image: xxx }
ruby-china 代码里有一种方法,给登录的用户生成 token。 我自己也在用 faye 做一个消息系统,https://github.com/loveltyoic/inner_message,供参考。
https://github.com/robbin/sinatratest 在 sinatra 里面用的例子