大家好, 我在用Rails 的开发过程中遇到一个问题, 希望大家能帮忙解决!
谢谢!!
问题描述:
我新建一个 Scaffold : member 后, 在Views 下面肯定就有 4个视图文件Edit、New、Show、Index
然后 我在下面 增加了一个 login视图:login.html.erb 文件,然后通过Url 访问 http://localhost:3000/members/login 访问不到,
提示:Can't Find members When ID = login , 我以为是路由问题,然后重启了 服务器, 还是不行,
然后我试验了第二种方法:
在 members / 增加一个 视图文件:_login.html.erb
在 memers.controller.rb 文件下创建了 action :
def login
render :partial => ' login '
end
然后重启 服务器, 还是提示:Can't Find members When ID = login
实在是 不知道怎么回事了!
希望大家能帮忙 ! 谢谢!!!
rails生成的scaffold是restful的,它产生了7种从URL到Action的映射规则
(具体看Agile书或者google……)
错误产生的原因是:默认members/xxx 对应action:show (id=xxx)
你应该修改config/routes.rb,添加映射规则
map.connect 'members/login',:controller=>'members',:action=>'login'
并保证这条规则在map.resources :members之前