在Rails中设置ActionController的操作

时间:2010-07-27 23:48:14

标签: ruby-on-rails actionview actioncontroller

我刚刚发出了[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]然后在控制器中创建了动作方法,并且它是相应的视图。它似乎按预期工作。当使用脚本/生成脚手架不可用时,两者之间的区别以及导致创建其他操作方法的原因是什么?

1 个答案:

答案 0 :(得分:0)

您需要打开路径文件并将集合映射添加到用户路由。在您的情况下,该行可能会显示map.resources :users, :collection => { :login => :get }

查看http://guides.rubyonrails.org/routing.html以获取有关Rails路由的更多信息