#3 楼 @merlinran 好的发邮件给你
不明白你的意思,你在找一起旅行的人吗???
#8 楼 @cqcn1991 这个问题不好解释, @user.save 运行后会返回 true 或者 false
def create
@user =User.new(params[:user])
@user.insert(假设插入命令为 insert)
if @user.insert(假设插入命令为 insert)
~~~
end
end
假设插入命令为 insert,不为 save。那么 ruby 解析器会运行两次 @user.insert ,数据库中也会插入两条记录。 解析器是这样运行的 if 然后去运行 @user.save ,运行成功就会插入一条记录。运行完后告诉 if 运行结果为真。后面的语句会继续运行 if 后面的语句。为假就会运行 else 后面的语句。 这么解释能明白吗?? 路由分为 get post put delete 四种,get 对应 index show new edit,post 对应 create,put 对应 update,delete 对应 destroy。这是约定好的。当然也修改和添加新的规则。 建议你看看 敏捷开发第三版中文,英文好的话,直接看第四版英文,书上讲的比我详细。
#4 楼 @cqcn1991 其实是这样的,当你提交表单时,路由信息会把任务交给 user_controller 中的 create 方法去处理。 user_controller 会与数据库进行处理,当然不是底层的处理方式,是利用了 ORM 进行了抽象,User 类就是 users 表,User.new 就是说,数据库新建一条记录。user_controller 中有这么一行代码 @user =User.new(params[:user]) 代码中 params[:user] 就是表单中传过来的数据,这是一个 hash,如 :user => {:username => "liming", :password => "123456"} @user =User.new(params[:user]) 这条代码会去创建一个新的数据库记录,但还不会保存。 只有在执行 @user .save 时,rails 才会发送 insert into users(username,password) values('liming','123456') 这条数据库插入命令 @user.save 返回的是一个布尔值 if 判断只是在确定数据库新记录插入成功时会去做什么,比如 redirect_to 重定向至另一个页面,或者其他命令 当你更新一条记录时,User.find(params[:id]) 会去查找这条记录,@user.update_attributes(params[:user]) 中 update_attributes 方法会去更新传过来的数据,然后利用 if 判断语句去判断 记录成功后应该做哪些事情,比如告诉用户更新成功,上面的创建也是一样。 哪里不明白,再指出来。
#4 楼 @jiyinyiyong 我以为楼上是正解呢~~~
@jiyinyiyong 比如你修改了很多文件,但这些修改中,逻辑上是两个功能上的代码。这时你可以分两次提交。先把一部分加到暂存区,提交一次,剩下的部分再提交一次,这样当回头看提交历史时会更清晰。个人见解
部署 php&mysql???php&mysql 的部署很简单,貌似不需要这么做。。个人意见
#5 楼 @xiaoronglv mongodb 还是挺恶心的。折腾人
我觉得还是看看 sql 比较好,新手没有 sql 的概念,恐怕连数据库的操作都摸不到头脑
@small_fish__ 找到新工作了??羡慕。。。。。嫉妒。。。。。恨。。。。
帖子被冷落了??等偶网站人多了,一定要用,先顶一下
#2 楼 @blueplanet 我也出现这个问题了,貌似没有 rake assets:precompile 这条命令,请问你怎么解决的??
#18 楼 @small_fish__ 如果能帮到你,很乐意合作。加我邮箱,[email protected]
#7 楼 @small_fish__ 应该没事吧,现在还感觉不出来。 www.chengdeyixueyuan.com
推荐使用 42qu VPS,我用的时间很短,但感觉很好,很给力(美国主机) 过一段时间会打算升级服务器 256M 跑 rails 有点费劲
看着她怎么写代码??纳闷中...