第一感觉没什么变 第二感觉变得好奇怪
他们是不是没有专门的设计师做整体的设计啊。
#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 一下你要访问的页面,然后就缓存起来了。
这特性太奇怪了,建议抛弃。
方案:
我先看 PHP,没学会怎么写网站; 再看 JavaEE,被恶心到了; 再看 Ruby on Rails,终于摸到门道一个网站要怎么写。
所以我觉得我在 Web 编程是通过 Rails 入门的。Rails 组件虽多,但对 Web 开发都是有用的。有人喜欢从精简的框架开始,往后做加法;我就喜欢走别人铺好的铁轨,按需增删组件。看你怎么想,总之从 Rails 入手是可行的。
str = gets
stack = []
pairs = {
'(' => ')',
'[' => ']',
'{' => '}'
}
error = false
str.chars.each do |char|
case char
when *pairs.keys
stack.push char
when *pairs.values
if stack.pop != pairs.key(char)
error = true and break
end
end
end
puts (error || stack.any?) ? 'error' : 'ok'
我也打算下一个项目用 PJAX。
我习惯放 app/views/share
= render :partial => "share/xxx"
class Person
include Mongoid::Document
field :blood_alcohol_level, type: Float, default: 0.40
field :last_drink, type: Time, default: ->{ 10.minutes.ago }
end
引入模块里面的 validate 还不好删,我以前写过这样的代码去掉密码校验
# remove password_digest validator
_validate_callbacks.delete_if {|c| c.raw_filter.is_a?(ActiveModel::Validations::PresenceValidator) && c.raw_filter.attributes.include?(:password_digest)}
_validators.delete(:password_digest)
比较丑,拷贝一份 SecurePassword 模块再修改还比较漂亮。
是不是用了 ActiveModel::SecurePassword,它里面加了密码不能为空的校验。
不能判定,如果有系统退信也说不准多久之后收到,即使没有退信也不能知道是否进入了垃圾桶。
只能说遵循良好的邮件规范,用知名正规的邮件发送商服务,不要发送垃圾邮件,提升送达率。
我就不会花心思在这些地方,顶多前置个时间戳
Started GET "/homes" for 122.234.244.49 at 2012-09-17 23:22:32 -0400 Processing by HomesController#index as HTML Rendered homes/index.html.erb within layouts/application (26.4ms) Completed 200 OK in 252ms (Views: 125.9ms | ActiveRecord: 1.4ms)
速度正常啊。首次要载入 rails 框架是慢点,不过一般就几秒。5 分钟是别的问题。
要多些 log
Student.grades.below_average
但是我建议 below_average 写成 Grade 的 scope
class Grade < ActiveRecord::Base
scope :below_average, where('score < ?', 2)
end
依然是这么调用 Student.grades.below_average
之后想要增加参数可以这样
class Grade < ActiveRecord::Base
scope :below_average, lambda.new {|score| where('score < ?', score)}
end
调用变成Student.grades.below_average(2)
没明白需求,1 楼的两种更新操作不能满足需求吗?update_attributes
是有校验的,注意单复数。
update_attribute 就是用来略过校验的,但是不会略过 callback。还有个可以略过 callback 的 update_column。
不支持占位符。
update_attribute :nick_name, user_setting.nick_name # 无校验
update_attributes :nick_name => user_setting.nick_name # 有校验
#12 楼 @cisolarix team 是团队不是组团。
#12 楼 @cisolarix 我的看法是你是属于 $199 per student 的范围,你如果打算去咨询团队报价那我静候。
#10 楼 @cisolarix $199 per student, $159 per alumni
或者楼主已经去谈过团队价了?(虽然我不觉得用帖子召集来的是一个团队)
#3 楼 @cisolarix 什么是团购?Progmatic 有给出团购价吗?