:plus1:
#13 楼 @lytsingsun 不好意思,是我弄错了,我们那个也是在 Rails 4 的版本下做的,Rails 3 下还不支持自动 reload,在 Rails 3 下要解决这个问题,14 楼 @shawnyu 的方法应该可以,17 楼 @Victor 说的 shotgun 也是可以的,只是 shotgun 可能会比较慢
#11 楼 @lytsingsun App 是我们自己定义的一个类,在 app/api 目录下,类似下面这样
class App
def self.instance
@instance ||= Rack::Builder.new do
use Middlewares::Logger, Api.logger
run Api
end.to_app
end
end
这个只是用来加入一些 middleware 的,如果你不需要,你也可以直接吧 App.instance 换成你的 Api
#2 楼 @lytsingsun 3.2 也是可以的啊,放在 app/api 下本来就是可以的,在 application.rb 中加上
config.autoload_paths += %W(#{config.root}/app/api)
我们的做法是这样的:
config.ru 文件中设置
if Rails.env.production?
map '/api' do
run App.instance
end
end
routes.rb 文件中设置
mount App.instance => '/api' unless Rails.env.production?
App.instance 是一个包装的 rack app,可以加一些 middleware
这样在生产环境下就可以直接到 api,不用走 rails 这一层,在开发环境下走 rails,这样代码也可以自动加载,更新。
great tool
多态啊,在 Note 上添加 notable_id, notable_type 两个属性,声明 belongs_to :notable 就行了,在 Company, Task, Opunity 里添加 has_many :notes, as: :notable 就可以了
#5 楼 @ginchenorlee 检查下 你的 linux 有没有安装 crond 这个服务
楼主真系好人,英文还不到看这么多比喻的文章,感谢感谢。
早上也看到这个 GEM,用了,感觉定位问题更显性点,还不错的,也能在页面里直接 console debug。
@siyang1982 如果你只想在页面上 分栏目显示,你可以用用 cells 这个 GEM,https://github.com/apotonick/cells
顶一个,明天来参加