之前我做过 PDF 导出的,是自己加载的中文字体,不过在加载的时候是可以指定此字体的名称的。我没做过加水印,但是以我的经验,像 LZ 这种需求,应该得在代码里自己去加载字体(自己下载个字体文件,然后放到项目里去),然后指定画笔用此种字体,而不是依赖于系统自带的字体,或者事先在系统安装你需要的字体。
当项目到达某个结点之后,就对 migrations 打包一次即可。如果你说我需要 rollback
怎么办,我认为没机会存在这种情况,因为你已经有了上千个 migrations,你说我要回滚到第 500 个 migrations 去,这绝对体现了你们的产品经理和技术总监的能力是多么得糟糕!万一真有这种情况,也绝对是继续写代码,将逻辑和数据回迁到之前去。
对于用文件夹这种结构化的文件存放,本身 rails 就支持,而我认为这个也并不是很需要,就算是大型的项目。
通常项目有大版本更新后,并且到了稳定状态,就可以对迁移文件进行打包了,可以不全部打包,保留 1 个月或者两个月内的迁移文件就可以了。
试试:Object.const_get 'Admin::In::User'
看不太懂,能否具体一点输出结果
?又或者说明一下,是为了统计什么样的数据?例如:统计用户最长的连续登录天数?
两部分工作
1、数据迁移 2、不兼容代码修复
数据迁移可以用 https://github.com/maxlapshin/mysql2postgres 这个工具, 记得检查迁移后的 schema 是否正确
不兼容代码只能通过测试或者手动测,把出错的都修了
整体设计挺简洁,看起来挺舒服的,赞一个!
如果将右边栏去掉,单独放在某个页面里我认为会更好。因为我认为博客,就是让人看文章的,博主信息就可以不需要了,如果看的人要看,那么再专门都介绍的页面去看就好了。
都提示编码错误了,不妨找找究竟是哪一行代码出错了。
将你那些 js 和 css 文件分别都放进 application.js
和 application.css
,这样在预编译的时候,就会把这些文件合并成一个文件。
// app/assets/javascripts/application.js
//
//= require jquery
//= require jquery_ujs
//= require moment.min
//= require moment-zh-cn
//= require bootstrap
//= require daterangepicker
/* app/assets/stylesheets/application.css*/
/**
*= require daterangepicker-bs3
*= require nv.d3.css
*= require jquery-tablesorter/theme.bootstrap
*= require public/nsprogress
**/
@import "bootstrap";
@import "font-awesome";
@import "public/base";
@import "public/input";
@import "public/form_filter";
@import "public/table";
@import "public/accordion";
@import "sessions";
Rails4 在编译的时候会先检查这些文件有没有变动,如果有的话就重新编译一次,如果没有的话就跳过。缓存相关文件你可以在 tmp/cache/assets
里找到。
另外,如果你是用 capistrano
做一键部署的话,那么可以把缓存文件放到 shared_path
里去,然后在跑 rake assets:precompile
之前,把缓存目录重新链接到 current_path
,这样 Rails 就会自动检查决定是否要重新编译。
先检查一下服务器的 shared 目录有没有相应的文件夹,或者 deploy 脚本有没有已经自动去链接这个文件夹,如果有就去掉,然后在部署脚本 config/deploy.rb
里加上
namespace :deploy do
desc "ln_cache_assets_folder"
task :ln_cache_assets_folder, roles: :web do
run "ln -nfs #{shared_path}/cache #{release_path}/tmp/cache"
end
end
before "deploy:assets:precompile", "deploy:ln_cache_assets_folder"
如果是第一次部署的话,隔 30 秒敲一下回车键就好了,这样就不会断了,嘿嘿
d3js
或者 hightchart
楼主为啥不用 nginx + unicorn
介绍个工具: Nokogiri
功能没出来之前,不要考虑什么效率,因为你都不知道真正需要优化的在什么地方
错误:Ip.joins(:user).order("users.user_name asc")
@saiga 你是一开始就是 4.1.1 的吧?
$LOAD_PATH
指的是 Ruby 读取外部文件的一个环境变量,其实和 windows 的环境变量是一个概念。Ruby 会在这个环境变量的路径中读取需要 require 的文件,如果在环境变量中找不到自己想要的文件,就会报 LoadError 错误。还有$LOAD_PATH 和$:指的都是同一个环境变量
__FILE__
指的是当前 rb 文件所在目录的相对位置
我谷歌来的,不知道楼主所谓的 至于如何深层次理解,还是没搞明白,也尝试找了答案,但是没找到。
是为了表达什么意思
不是有这个工具么:Axure
期待楼主能分享更多一些这个过程中事情,哈,有可能的话做一期 teahour @lgn21st
Nice!
对于系统来说,重构只要一个标准,那就是不能出错也不能遗漏。 对于人来说,需要去考量输入(即消耗的资源,如时间)与输出,并且很多时候,代码具有很强的主观性,你所认为好的代码对于其他人来说也许并不完全是。