我是Ruby on Rails的新手,我确信我只是缺少一些简单而愚蠢的东西,但我无法弄清楚如何让我的'帐户/注册'动作正常工作。
这就是我的溃败文件中的内容:
map.connect ':controller/:action'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
map.root :controller => "home"
我已将此添加到我的帐户控制器:
def signup
@account = Account.new
respond_to do |format|
format.html # signup.html.erb
format.xml { @account }
end
end
我已将signup.html.erb添加到帐户视图文件夹中。
然而,当我在浏览器中访问它时,我收到此错误:
在AccountsController#show中显示ActiveRecord :: RecordNotFound 无法找到ID =注册
的帐户我做错了什么?
答案 0 :(得分:2)
在routes.rb文件
上添加以下代码ActionController::Routing::Routes.draw do |map|
map.connect 'account/signup', :controller => 'account', :action => 'signup'
...
...
...
end
我认为你的意思是帐户而不是帐户。
答案 1 :(得分:2)
这是一个提示:
如果您运行rake routes
,它会显示您应用的所有可能路线。
然后,根据您输入的URL是否正确解决它应该是显而易见的。
有关路线的详细概述,请阅读此guide。你可以用路线做很多事情,所以值得花点时间阅读它。
答案 2 :(得分:1)
如果您想要遵循REST模式,您应该将控制器称为会话,并且您的注册操作应该是新,因此您可以在路线中执行以下操作:
map.resources :sessions
强烈建议所有Rails的新人使用本网站:
答案 3 :(得分:0)
当添加到do | map |时,以下也会这样做routes.rb的部分
map.resource :account, :member => {:signup => :get}
将为您的帐户控制器创建标准路由,以及添加新路由帐户/注册。除signup_account_url
和signup_account_path