ruby-on-rails - 在 Rails 3 中使用 current_page 时为 "No routes matches"

标签 ruby-on-rails ruby ruby-on-rails-3 current-page

有没有人遇到过使用 current_page 时路由神秘地变得无法检测到?在 Rails 3 中?即使使用包含路由、 View 和 Controller 的完全生成的脚手架,我也会收到“无路由匹配”错误。

代码如下:

if current_page?(:controller => 'users', :action => "show")

如果我向 routes.rb 添加一个“匹配”命令,它工作正常,但如果资源已经创建,为什么我需要这样做呢?我错过了什么?

最佳答案

如果你只是想测试当前的 Controller ,你可以这样做:

if params[:controller] == 'users'

同样,如果您使用的是命名空间 Controller ,您可以只使用斜杠将命名空间与 Controller 名称分开,例如:

if params[:controller] == 'advertising/users'

关于ruby-on-rails - 在 Rails 3 中使用 current_page 时为 "No routes matches",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5627958/

相关文章:

ruby-on-rails - 如何在 RSpec 中 stub 两个链接的 ActiveRecord 方法?

ruby-on-rails - Rails # 在 HTML href 中注释掉该行

ruby - 未初始化的常量::ActiveResource

ruby-on-rails-3 - 启动由另一个 Rails 服务器处理的 Resque 作业

ruby-on-rails - 从不包含 'http' 的字符串中提取 URL

javascript - 如何在 Rails 应用程序中以不显眼的 javascript 访问全局 javascript 变量?

ruby-on-rails - 由于 sqlite3 gem 错误,Heroku 部署失败

css - Rails 5,Sass::SyntaxError 无法预编译 Assets

ruby-on-rails - 在 Heroku 上充当标签

ruby-on-rails - 保存验证部分失败的模型