基于rails的schedule网站开发(9):一些疑惑

8 篇文章 0 订阅

abstract:

title 1
title 2
title 3

疑惑

1. bundle install –without production

什么时候应该使用
bundle install --without production
什么时候使用
bundle install

注意,这个参数会被 Bundler 记住,下次只需运行 bundle install 即可。

2. 调试信息的优化效果不知道为什么没有显示

已解决

3. 为什么要使用get set 方法?

其实说得明白点吧,这只是java类(特别的很多时候是一个javabean)的两个方法,以提供对某个变量(字段)设置与访问的两个入口,在很多时候也正如你说,跟定义成public是没有两样的,具体的原因在于:
(1)由于很多框架都是调用这两个方法来实现沟通,这是一种习惯了。
(2)get/set方法也不一定只是简单的作一个赋值,或一个返回值吧,在这里可以作一些权限的控制,比如不是每个角色都可以赋值的。再比如返回的值不一定是值本身,可以是经过处理了的,比如加密,这用public定义是不能作到的。

4. update_attributes方法

更新数据有2种
其一,可以分别为各属性赋值

>> user           # 只是为了查看 user 对象的属性是什么
=> #<User id: 1, name: "Michael Hartl", email: "mhartl@example.com",
created_at: "2014-07-24 00:57:46", updated_at: "2014-07-24 00:57:46">
>> user.email = "mhartl@example.net"
=> "mhartl@example.net"
>> user.save
=> true

即编辑之后用user.save

第二种常用方式是使用 update_attributes 方法:

>> user.update_attributes(name: "The Dude", email: "dude@abides.org")
=> true
>> user.name
=> "The Dude"
>> user.email
=> "dude@abides.org"

update_attributes 方法接受一个指定对象属性的哈希作为参数,如果操作成功,会执行更新和保存两个操作(保存成功时返回值为 true)。注意,如果任何一个数据验证失败了,例如存储记录时需要密码(6.3 节实现),update_attributes 操作就会失败。

我理解是,如果update_attributes两个参数在数据库里不匹配,即验证失败。

如果只需要更新单个属性,可以使用 update_attribute,跳过验证:

>> user.update_attribute(:name, "The Dude")
=> true
>> user.name
=> "The Dude"

注意:一个参数是update_attribute,两个参数是update_attributes,前者是会跳过验证,后者需要验证数据。

5. 可以通过输入url访问任意用户的信息?如何解决

6. rails generate 后面的参数怎么选择?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值