我正在尝试编写一个可在我的rails网站上运行的小型jQuery方法,并检查用户名是否可用。这全部在users_controller.rb和表单中处理:
<script>
$( function() {
$('input#username').keyup( function() {
var username = $('input#username').val();
url = '/users/check_username/';
params = { username : username };
$.get(url, params, function(response){ markUsername(response); }, "json");
});
})
</script>
markUsername()函数只是在某个范围内插入文本,说明用户名是否可用或是。
我在users_controller中有服务器端代码,用于检查用户名是否被占用,但是当我实际测试它时,我收到此错误:
ActionController::UnknownAction (No action responded to show. Actions: ...edit... enter code here check_username...)
所以我知道我有这种方法,我只是不知道为什么'show'被调用。可能是一个路由问题,但无论如何我都很感激帮助 - 谢谢。
答案 0 :(得分:1)
问题出在RESTful路由轨道默认情况下。我在
中更改了routes.rb中的路由map.resources :users
到
map.connect 'users', :controller => 'users', :action => 'index'
并且非常高兴:)