亮瞎了我的狗眼,需要适应一段时间。
之前写了一个用 Etag + Redis 做跨域 Session 的 demo,在新版 safari 已失效:(
看起来不错呢
我就是来同前面 4 位大神合影的!
#18 楼 @hello_ruby 收到,是捨てられた愛?
为何不用数据库啊?为何不用数据库啊?为何不用数据库啊?为何不用数据库啊?为何不用数据库啊?
你这是反模式...
数据库好啊,想缓存照样加载到内存,想初始化 seed 一下搞定,想 CRUD 还来得及。
问题是你不用数据库居然自己还搞不定...
#30 楼 @fleuria 我觉得 正像 14 楼 @emanon 说的,这里说的 Service Object 就是提炼类(非 AR 类),当然 Form Object 算是一种形式。上面的一个例子可能有误导,另外再补充一下多 model 交互的例子:
https://gist.github.com/hooopo/f6a031dac417323dfec6
传统的 Rails Way,这些可能都会被放到 Order 或 Package 里。
#9 楼 @flowerwrong 都是 extract method 的方法,但 concern 有一点局限性:
ActiveSupport::Concern
才能玩的转,而 Service Object 就是普通 Object。#10 楼 @emanon 取名字的目的是为了让大家知道在谈论的是什么,否则就无法交流。说简单了是 PORO(plain old ruby object),当然这也可以说又引入了一种概念。职责分离和“程序就是数据结构 + 算法”什么的类似,是一句人人都懂,而又人人都不懂的话。Service Object 是一个更具体的方法。
第二点担心很多余,现在的 Rails 程序员都懒的很呐,helper 都懒得用,直接 view 里写逻辑的大有人在。原因很简单,简单粗暴不用思考啊。但你说的属于另外一个方向,我几乎没见过。
Startup 项目有 Startup 的做法,遗留项目有遗留项目的维护方式。1k、1w、10w 行代码的项目也都有不同的维护方式,各自找到适合自己的方案就好,不必刻意模仿,也不必随意否定。
#26 楼 @scriptfans 不不不,有可能是缓存
楼主加油(^_^)/
PS.
Ruby China 的帖子下沉机制对招聘帖来说不友好。之前的帖子不会被再次顶上来,就必须新发重复的帖子。这样之前的回复相关信息就没了。
S4
编码规范就是为了防止这种个人偏好的……
#11 楼 @blacktulip 其实以等号结尾的方法真
有特殊处理:
def current_user=(user)
@xx = user
nil
end
和下面不一样
def set_current_user(user)
@xx = user
nil
end
current_user(user) 的返回值永远是 user set_current_user(user) 的返回值是 nil
没什么说的,看文档啊!
另,"X-Requested-With:" => 'XMLHttpRequest',冒号要去掉