新一轮迷惑新手行动现在开始
其实还要做一套前端验证。之前用 client_side_validation,不过感觉不太灵活,还是得写 js。
@hooopo 功不可没
没有必要。一般来说读操作比写操作多,所以性能优化一般在读操作上。
而 updated_at 字段可以用来做片段缓存的 cache_key。
如果数据确实非常大,要剔除不必要的字段,而并没有用到 updated_at 的地方,那么可以去掉。
零散的 js 写页面内得了。我觉得不通用的 js 不需要独立成文件。
不过再怎么零散也不应该一列 assets 啊,一个提供共用库的 application.js,一个页面特定的 js。
一直用单文件未出现过问题。
不是所有数据库都有验证的,而且数据库验证的逻辑没有应用层丰富。数据库验证一般就用来校验一些字段不能为空。
还有一个我习惯类名是什么关联名就是什么,如果不是有很多同类关联的话,这样编码的时候要思考的东西少些。
belongs_to :person
has_one :album,:foreign_key => "cover_id"
这行可以不要了,应该没有这种查询需求,也省一个 albums 表的索引。
#40 楼 @sundevilyang 我觉得新手看完《Agile Web Development with Rails》最新的中文版就好了。但是实际上经常有人喜欢走「捷径」:
新手搭积木是最好了,写一个搭积木教程其实很难,很容易略过自己觉得不重要但是新手并不懂的东西,但是《Agile Web Development with Rails》被我亲身检验过可以从 0 开始入门。
还是希望新手不要急,我学了半年才写出第一个实用程序(一个博客),一年后才开始了解到 Web 编程需要去学些什么,现在第三年不断发现有要学的东西。跟一些悟性好的人比我算是挺慢的,不过庆幸自己没有三心两意一时学这一时学那。Rails 一直在改动,去掉不好的组件,引进好的设计,所以我用 Rails 的过程也跟着进步了。
我搜了下,只搜到 activerecord-jdbc 有相关的问题,可能是 jruby 特有的?然后我新建了一个 app,用 send 字段没问题。
你试试不用 jruby,用 ruby 1.9.3。
先 fork 一份到自己的账户下,然后对自己的项目进行修改,然后 push 到 github,然后点 Pull Request
应该就是 send 这个字段,覆盖了 .send 方法了,要改名。
抛错的那行代码是
str = object.send("_#{kind}_callbacks").compile(key, object)
表里面有什么字段?
贴 log 别吝啬
#8 楼 @tanjianna 难道 java include 可以突破网速?
第一感觉没什么变 第二感觉变得好奇怪
他们是不是没有专门的设计师做整体的设计啊。
#28 楼 @bhuztez 我不用跟你抠字眼,你在 ruby china 的发帖套路不就是「默念:哟西这个 Rails 默认没提供」 -> 「大声:Rails 太挫了这个都做不到」 -> 别人指出方案 -> 「不行这不是我要的」-> 影遁消失 -> loop
有些人可能脑容量有限或者气量比较小,积累了一些知识就学不进新东西了,这也没问题,把自己已知的钻研到极致,多写些分享也是一大贡献。不过专门找着自己不了解的东西黑,吃相难看啊。
正题,官方文档给的加外键的方法
http://guides.rubyonrails.org/migrations.html#active-record-and-referential-integrity
Although Active Record does not provide any tools for working directly with such features, the execute method can be used to execute arbitrary SQL. You could also use some plugin like foreigner which add foreign key support to Active Record (including support for dumping foreign keys in db/schema.rb).
#5 楼 @tanjianna Ruby 没有编译期,或者你可以在部署的时候先 wget 一下你要访问的页面,然后就缓存起来了。