rails路由个人总结
本文属于菜鸟级别,在对rails刚开始学习时的总结:
路由就是一个url请求和如何生成一个url,每一个路由对应一个controller中的action。通过这个action,与views下同名的文件进行数据交互。例如:
<%= link_to t(:show_view), {:controller =>'blogs', :action => 'show'}, :remote=>true, method: "post", :class=>"btn btn-default btn-xs"%>
当点击show_view时就会调用bloges中的show方法,但是,当你需要传参数时,你就应该用下面的方法。
<%= link_to t(:show_view), {:controller =>'blogs', :action => 'show', sales_code: item.sales_code,star_date: item.app_start_time.to_s[0,10], end_date: item.app_end_time.to_s[0, 10]}, :remote=>true, method: "post", :class=>"btn btn-default btn-xs"%>
当点击show_view时就会调用bloges中的show方法,而且在show方法中可以接受到sales_code,start_date,end_date参数的值。具体接收方法如下
@star_date = params[:star_date][0,10] << " 00:00"
@end_date = params[:end_date][0,10] << " 23:59"
@sales_code = params[:sales_code]
在rails的routes中,使用 resources :photos
则会自动给photos中加上下面7种常用的路由,来实现CRUD,
HTTP 方法 | 路径 | 控制器#动作 | 作用 |
---|---|---|---|
GET | /photos | /photos#index | 显示所有图片 |
GET | /photos/new | photos#new | 显示新建图片的表单 |
POST | /photos | photos#create | 新建图片 |
GET | /photos/:id | photos#show | 显示指定的图片 |
GET | /photos/:id/edit | photos#edit | 显示编辑图片的表单 |
PATCH/PUT | /photos/:id | photos#update | 更新指定的图片 |
DELETE | /photos/:id | photos#destroy | 删除指定的图片 |
如果要想在photos中添加路由可以这样写:
resources :photos do
collection do
get :add_new_picture
end
end
当然不一定非要这么写,用下面这种方法也行,只不过上面的方法看起来更整齐一些
get 'add_new_picture' => 'photos#add_new_picture'