我对 Rails3 很陌生,我基本上创建了一个subscribers
脚手架,我只希望我的应用程序响应new
和create
操作。
所以在config/routes.rb
我定义:
资源 :subscribers, :only => [:new, :create]
以这种方式工作
GET /订阅者 => 订阅者#new 发布 /订阅者 => 订阅者#创建
现在我希望我的应用程序在/
(root) 而不是展示订阅者资源/subscribers
,所以这就是我所做的:
匹配 '/' => "订阅者#new" 匹配'/' =>“订阅者#创建” 匹配 '/' => "订阅者#thankyou" 资源 :subscribers, :only => [:new, :create]
以某种方式起作用,但可能不是最干燥的事情:这是我遇到的问题:
- 在创建问题后返回表单时,浏览器会显示
/subscribers
URL 而不是/
,表单是使用form_for(@subscriber)
helper 方法创建的,因此path
helper 必须不受路由的影响 - 理想情况下,我什至不希望应用程序响应请求
/subscribers
- 我注意到一个奇怪的错误,在断开连接时发布表单(从
/
,然后在连接恢复时进行刷新(浏览器要求重新提交 => OK),Rails 应用程序崩溃(虽然我没有错误堆栈这是在生产中),这是为什么呢?
另外,我尝试以这种方式设置路线:
资源 :subscribers, :only => [:new, :create] 做 收集做 发布'/' =>:创建 得到'/' =>:新 结尾 结尾
这可能是 DRYer,但它不能解决任何这些问题。
我相信这很简单,请帮助!