我对Rails3还是很陌生,我基本上创建了一个subscribers
脚手架,我只希望我的应用响应new
和create
Action 。
因此,在config/routes.rb
中,我定义了:
资源:subscribers,:only => [:new,:create]
哪个以这种方式工作
GET/subscribers =>订阅者#new
POST/订阅者=>订阅者#创建
现在,我希望我的应用程序在/
(根目录)而不是/subscribers
处展示订阅者资源,所以这是我做的事情:
匹配'/'=>“subscribers#new”
匹配'/'=>“subscribers#create”
匹配'/'=>“subscribers#thankyou”
资源:subscribers,:only => [:new,:create]
哪种方法可行,但可能不是最干的事情:这是我遇到的问题:
/subscribers
URL而不是/
,表单是使用form_for(@subscriber)
helper方法创建的,因此path
helper必须以某种方式不受/subscribers
上的请求/
,然后在连接恢复时进行刷新(浏览器要求重新提交=> OK),Rails应用程序崩溃(我没有错误堆栈) (因为这是在生产中),为什么会这样?另外,我尝试以这种方式设置路线:
资源:subscribers,:only => [:new,:create]
收集做
发表'/'=>:create
得到'/'=>:new
结尾
结尾
这可能是DRYer,但不能解决所有这些问题。
我敢肯定这很简单,请帮忙!
最佳答案
感谢您的回答,它帮助我找到了解决问题的确切方法:
资源:subscribers,:only => [:new,:create],:path =>'',:path_names => {:new =>''}
经过测试并在Rails 3上工作:)
关于ruby-on-rails - 在Rails3中覆盖到/(根)的资源路由: not changing the path helper?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3796979/