我刚刚发出了[script / generate scaffold User]命令来生成我的文件。所有CRUD页面都运行良好,这很好,现在我正在尝试创建更多页面。我在user_controller.rb文件中创建了一个方法,如下所示:
def login
#blahblah
端
然后为视图创建了app / views / users / login.html.erb。当我尝试通过浏览器[http://localhost:3000/users/login]访问它时,它会发出错误:
ActiveRecord :: RecordNotFound(无法找到ID = login的用户): app / controllers / users_controller.rb:16:在'show'
我将其解释为使用动作节目,但它不会将登录视为动作。我错过了一些配置,让这个动作起作用吗?我对Rails很陌生,所以我可能会遗漏一些微不足道的东西。谢谢!
更新 我尝试使用[script / generate controller User]然后在控制器中创建了动作方法,并且它是相应的视图。它似乎按预期工作。当使用脚本/生成脚手架不可用时,两者之间的区别以及导致创建其他操作方法的原因是什么?
答案 0 :(得分:0)
您需要打开路径文件并将集合映射添加到用户路由。在您的情况下,该行可能会显示map.resources :users, :collection => { :login => :get }
查看http://guides.rubyonrails.org/routing.html以获取有关Rails路由的更多信息