Rails路由测试与控制器操作全解析
1. 基于资源的路由开发
Rails 让基于资源的路由开发应用变得简单,很多人认为它极大简化了应用编码。不过,这种方式并非总是适用。若找不到合适的使用方法,不必勉强使用,还可以混合搭配。部分控制器可基于资源,部分基于动作,甚至有些控制器可在基于资源的基础上添加额外动作。
2. 路由测试
之前我们通过 script/console 手动测试路由。应用部署时,需要更正式的单元测试来验证路由是否按预期工作。Rails 提供了一些测试辅助方法:
2.1 assert_generates
验证给定选项是否能生成指定路径。
# 示例代码
def test_generates
ActionController::Routing.use_controllers! ["store"]
load "config/routes.rb"
assert_generates("/store", :controller => "store", :action => "index")
assert_generates("/store/list", :controller => "store", :action => "list")
assert_generates("/store/add_to_cart/1",
{ :controller => "store", :action => "add_to_cart",
:id => "1", :
超级会员免费看
订阅专栏 解锁全文
44

被折叠的 条评论
为什么被折叠?



