@skandhas 更新的太快了 那我直接不写注册他俩就不会被执行也有没有所谓的效率问题了吧:)
@doitian 你好 我想请教下 就算 after_initialize 和 after_find 是自动执行那也是执行了啊 但是为了效率不是不想让他们执行吗?那干脆不写不就行了吗?我就没转过来这个弯=.=
class User < ActiveRecord::Base
def after_initialize
puts "You have initialized an object!"
end
def after_find
puts "You have found an object!"
end
end
>> User.new
You have initialized an object!
=> #<User id: nil>
>> User.first
You have found an object!
You have initialized an object!
=> #<User id: 1>
我对以上的文档执行结果有疑问,请前辈指教 把 after_initialize 和 after_find 声明为普通方法而非注册方式,不就是怕他们两个总在数据库操作的时候总自动执行影响效率么,注册方式都是自动执行的,但是 after_initialize 和 after_find 不是注册方式的方法,而是普通方式的,但是我没看到有调用它们俩的动作呀 为什么他俩也自动执行了呢:) 不知道我有没有说明白
@skandhas 俺也是沈阳的 在格微软件实习的小学生 看到您也是沈阳的倍感亲切啊 呜哈哈哈
@skandhas 多谢多谢:)
@skandhas 您是说那两个 model 里的 before_validation 不是在调用 CreditCardCallbacks 里的 before_validation 而是在定义自己的 before_validation 吗?:)嘿嘿
就好像把 CreditCardCallbacks 类里的 before_validation 函数分别拿到了 Order 类和 Subscription 类里来用吗?但是传的时候也得传 Order.new 和 Subscription.new 才对呀 不然其中的 model.cc_number.gsub,就不发确定操作的是哪个 model 里的 cc_number 了呀:)
但是这样岂不是很浪费空间吗?例如我存了 100 行相同的数据 虽然我把他们看作一行 但是他们实际上就是存了 100 行呀:)
@Rei 前辈俺有个小问题 :uniq =>true 这个属性不限制往数据库中存储这个操作吗? 例如我可以一直存储成以下形式 id a b c 1 3 5 3 2 3 5 3 3 3 5 3 4 3 5 3 5 3 5 3
我试验存储的时候,存进相同的数据不会报错,但是往外遍历的时候同样的属性值只会得到一次 这个就是:uniq =>true 这个属性的功能所在吗?虽然我试验出了结果但是我不敢肯定呀哈哈
主要我的思维定势太严重了 我一直就以为多对多就是两张表加一张中间表呢 以前写的玩具最复杂也就这关系了 二了二了 得前辈指导大开眼界呀:)
@Rei 这是用中间表来实现三个表的关联吗?更复杂啦 我得存起来理解下 多谢多谢哟
我对 has_many :students, :through =>这种方式有个小小的疑问:)
中间表中的数据是 id student_id group_id 1 3 4 2 3 4 3 3 4
id 是主键 student_id 和 group_id 分别是外键 这些都没错 但是这样 3 4,3 4,3 4 的 student 和 group 的关系岂不是重复了吗?求解
用 has_and_belongs_to_many 这种联合主键就不是重复的
老师 课程 班级 多对多 多对多
我所能想到的是老师和班级作单独的表,课程作中间表,这个中间表除了老师_id和班级_id还有自身的课程信息 :)
@Rei 你好 我之前只用会 has_and_belongs_to_many 刚才基本学会了用 has_many :througth 但是还是没明白用这种方式如何解决我的问题呢 我目前所能看到的就是这只是另一种多对多关联的写法 求指点:)
@Rei 多谢多谢 我去瞅瞅 :)
@Rei 这个是带三个的多对多吗?:)
@davidqhr 数据结构 1 数据结构 2 吗?哈哈 好主意啊
@davidqhr 多谢多谢啊 我保存下来研究一下:)
@ichord 对对对 我搜索 ror 东西的时候结果里总会有这个网站 但是用 IE 看不到里面的内容 我一直以为这网站有问题呢 刚才还 Chrome 就能看了 杯具啊
谢谢二位:)
@ichord 昨天想用 lesson 来的 lesson 的复数好像还是 lesson 但是好像又不是 哈哈 最后我就用拼音啦 给我逼急了
@jokry 原来是这样啊 那 k 在 t 前面我就理解啦 谢谢
我感觉这里用<%= text_field_tag 'name',nil%>也不错也 呜哈哈哈
@bony 那为什么还需要两个参数呐 因为没形成绑定呀:)
哎呀 别闹
对 写了这个路由系统就会给你自动生成 8 个路径 posts_url 和 posts_path 对应于 index 和 create 这两个 action new_post_url 和 new_post_path 对应于 new 这个 action edit_post_url 和 edit_post_path 对应于 edit 这个 action post_url 和 post_path 对应于 show,update,destroy 这三个 action 然后具体是其中的哪个 action 就看 http 的动作了
rails 认为:controller=>'student,' :action=>'update'这种调用方法方式不是很方便 于是加入了 RESTful 路由 根据 URL 的不同形式自动执行不同的动作 上图走起~http://dennis-zane.iteye.com/blog/64513
还是不太明白 我已经乱传一气啦=。=
在编辑的页面地址栏的 url 是http://127.0.0.1:3000/students/28/edit这种形式 在更新的页面地址栏是这种形式http://127.0.0.1:3000/students/28 你可以看一下 Http 的四种动作和什么叫 RESUful 路由 应该就明白了
其实我也是大菜猪 你看明白没 没明白我俩研究研究 哈哈哈哈哈