我正在使用simple_captcha。它找到了直到我将以下行添加到routes.rb
match ":controller(/:action)", :constraints => {:controller => /sandbox\/[^\/]+/}
验证码图像未显示,日志显示以下错误消息。
Started GET "/simple_captcha/8cdf70c193dc8823f281828f11c250e1739883da?time=1294644088" for 127.0.0.1 at Sun Jan 09 23:21:29 -0800 2011
AbstractController::ActionNotFound (The action '8cdf70c193dc8823f281828f11c250e1739883da' could not be found for SimpleCaptchaController):
为什么路线中的线会影响simple_captcha?
感谢。
萨姆
答案 0 :(得分:0)
让我们假设现在不存在约束。给定:controller(/:action)
匹配并尝试匹配特定控制器然后匹配操作,路由/simple_captcha/8cdf70c193dc8823f281828f11c250e1739883da
匹配simple_captcha
作为控制器,8cdf70c193dc8823f281828f11c250e1739883da
作为操作。您可以尝试更多":controller/(:id)"
作为路径匹配器。
答案 1 :(得分:0)
我通过修改一行解决了这个问题。
自:
match ":controller(/:action)", :constraints => {:controller => /sandbox\/[^\/]+/}
要:
match ":controller(/:action)", :controller => /sandbox\/[^\/]+/
我认为他们是一样的,但显然他们不是。他们有什么不同?