好的,我有一个应用程序,我使用这个jquery
$("#band_events").load("/load_events/"+ escape($('#request_artist').val()), successCallback );
它的效果很好,但如果#request_artist是R.E.M.或者带有小数的东西或奇怪的东西有像
这样的问题ActionController::RoutingError (No route matches "/load_events/R.E.M." with {:method=>:get}):
这是我的路线
map.load_events '/load_events/:band', :controller => 'pages', :action => 'load_events'
任何建议
答案 0 :(得分:2)
我会尝试
map.connect ... , :constraints => { :band => /.*/ }
(或任何其他你喜欢的模式。)About constraints
但它似乎并不适用于所有版本的rails。我很确定我之前使用过这个技巧,但现在无法让它工作。所以,祝你好运。
答案 1 :(得分:1)
要转义网址,您应使用encodeURIComponent
代替escape
。
答案 2 :(得分:1)
检查一下。这对我有用。我会说 - Ending a Rails 2 URL with an IP address causes routing error?
非常简洁的解决方案