一、 框架的理解
框架(rails/padrino)其实只是一个gem,只不过他比一般的gem功能更强大
二、批量赋值
rails中直接批量赋值是会报forbidden的,必须使用 params.require(:group).permit(:title,:desc)
三、提交表单
rails提交一个表单到create action 什么也不做,居然不会报错,只是返回204
四、表单helper
除了form_for、form_tag 还有一个 form_with 也是第一次知道
五、命令
现在rails中,将rake 命令整合到rails 中了,以前的rake db:migrate
可以用rails db:migrate
,所有都可以用 rails 开头
六、partial集合
在使用partial集合时,partial中的变量,等同于partial模版的名称
七、提交表单
提交表单创建数据失败时,重新render页面,此时rails 会自动保存失败字段自动包裹到 div 中,并重新添加了类`field_with_errors'中
八、modle中保存错误信息
@product.errors.full_messages
数组中查看
九、路由
- 非资源式路由
get 'welcome/index'
- 资源式路由单数与复数区别
单数复数指 resource 和 resources
- 单数:url 中不会出现:id
- 单数:不会出有 index action
- 单数:会把资源变成复数(如果是单的时候)
- 命令空间的主要作用是,做区分权限等
namespace :admin do
resources :products
end
- 而资源嵌套主要是出于模型关系
resources :articles do
resources :comments # 一篇文章中包含多个评论
end
十、模型关联
- 同时删除
has_many :comments, :dependent => :destroy
- 创建关联数据
文章 有多个评论
@article.comments.create(comment_params)
3、表单中传递方式
# 第一个参数 用数组
<%= from_for [@article, @article.comments.build] do |f| %>
....
<% end %>
网友评论