软广告
还没用 gem 安装 mongo?
gem install mongo
~/.rvm$ rake db:migrate
不是太年轻,就是太老,就是找不到合适的时间。 —— 《rework》
username 和 usermail 做好校验,非空,username 不能含有 @,email 一定要含有 @,防止两个字段冲突。
找更成熟的前端插件。
自从发现 counter_cache 的行为有时不符合我理解之后,我就自己写 after_create 了。
更正一下
rb_obj_as_string(rb_inspect(obj)) // 没看到中间先调用了 rb_inspect
所以 p Obj 和 p Obj.inspect 区别是相当于输出 Obj.inspect 和 Obj.inspect.inspect 的区别。
有刨根问底的精神就动手看源码的同学。
void
rb_p(VALUE obj) /* for debug print within C code */
{
VALUE str = rb_obj_as_string(rb_inspect(obj)); // 将对象转换为字符串
if (TYPE(rb_stdout) == T_FILE &&
rb_method_basic_definition_p(CLASS_OF(rb_stdout), id_write)) {
io_write(rb_stdout, str, 1);
io_write(rb_stdout, rb_default_rs, 0);
}
else {
rb_io_write(rb_stdout, str);
rb_io_write(rb_stdout, rb_default_rs);
}
}
VALUE
rb_obj_as_string(VALUE obj)
{
VALUE str;
if (TYPE(obj) == T_STRING) { // 如果已经是字符串就直接返回
return obj;
}
str = rb_funcall(obj, id_to_s, 0);
if (TYPE(str) != T_STRING)
return rb_any_to_s(obj);
if (OBJ_TAINTED(obj)) OBJ_TAINT(str);
return str;
}
p Obj 和 p Obj.inspect 区别是前面如果不是 String,就会调用 to_s 后输出,后面已经是 String 了,就直接输出
http://apidock.com/ruby/Kernel/p 下面还有源码,更多就是翻 ruby 源码了。
#6 楼 @zhouhong_135 git 里面 commit 就代表一个时间点。
假设有个 commit 的 hash 是 d2d44b6
取出该 commit 的所有代码(放到新分支 backup)
git checkout -b backup d2d44b6
取出该 commit 的 Gemfile 文件,放到当前分支
git checkout d2d44b6 Gemfile
回滚到该 commit,放弃该 commit 之后的所有修改
git reset --hard d2d44b6
如果你给这个 commit 加上 tag 命名,就把 tag name 替换到前面 hash 的位置。
tag 指向 commit,commit 指向 index,index 指向这个 commit 点的所有文件。所以 tag 可以指代这个 commit 点的所有代码。
或者我没理解楼主的意思,给代码打标记是来源哪个工具的概念?
erb 本来就是模板。
解析 class Fruit 的时候,其实都是打开 Fruit 这个域。两种写法一样。
鉴于 Ruby 部署确实麻烦,我看好 SaaS,像 37signals 那样。
#3 楼 @blacktulip 我看糊涂了。
不用 assets pipeline 的话,版本控制 commit 进去很多不是自己的代码会不爽。
Blog.paginate(:page => params[:page]).group_by(&:blog_year_id)
http://apidock.com/rails/Enumerable/group_by
赞同 #2 楼 @blacktulip
blog_year.blogs.paginate(:page => params[:page])
问题一二都跟 Rails 无关。
问题二把编译出的 html 贴出来,看看是不是 bug。
我看了 bootstrap 文档,caret 的层级关系应该是
a.dropdown-toggle
span.caret
你贴的代码错了。
额外说句,网上看到的所谓最佳实践都只是一家之言。
做东西。
1 看看 users 表是不是真的有 admin 字段了
2 因为 attr_accessible 没有 admin,我觉得应该会抛 mass-assignment 错误。
泪目,看得出我 2012 年啥都没干,今年要加油。
http://book.douban.com/subject/10528446/ 右边 在哪儿买这本书?
不过第 4 版的翻译和排版都不能令人满意,而且 3.0.5 比起最新 Rails 版本又落后不少,英文无障碍的推荐买原版电子书 http://pragprog.com/book/rails4/agile-web-development-with-rails