Rails 2.1 map.namespace 运用实例
数据库中有表categories,想做个admin后台来进行维护操作,这时候,map.namespace 就能帮助我们省却很多功夫。步骤如下:
1. Generate categories controller
ruby script/generate scaffold Category category_name:string category_name_md5:string sequence:int
2. 创建 controllers\admin\categories_controller.rb
class Admin::CategoriesController < ApplicationController内容同CategoriesController
3. 在routs.rb里
map.namespace :admin do |admin| admin.resources :categories end
4. 把 views\categories\*.* 复制到 views\admin\categories\
5. 修改 views\admin\categories\下的文件
<%= link_to 'Back', admin_categories_url %> 对应关系如下:admin_categories_url =>/admin/categories/getadmin_category_url(category) => /admin/categoies/1 getadmin_category_url(category) => /admin/categoies/1 getedit_admin_category_path(category) => /admin/categories/1/edit get<% form_for([:admin, @category]) do |f| %> => /admin/categories/update PUT
而delete方法,我只试出采用如下link方能成功
<%= link_to 'Destroy', "/admin/categories/#{category.id}", :confirm => 'Are you sure?', :method => :delete %>
6. Admin::CategoriesController里的跳转更改为
format.html { redirect_to([:admin, @category]) }format.html { redirect_to(admin_categories_url) }
等等
这时候,你可以把CategoriesController无用的方法删去了,再加上给admin一个session过滤,一个微型管理后台就完成了。
页:
[1]