【问题标题】:Unknown action: The action could not be found for Controller未知操作:找不到控制器的操作
【发布时间】:2013-09-25 16:11:23
【问题描述】:

这让我疯了一整天。我的 ccpayment 控制器中有以下内容:

#"ccpayments.rb"

  def checkout
    raise ActionController::RoutingError.new('No invoice found with that invoice code')
  end

引发错误位仅用于测试...我删除了内容以确保我没有搞砸那里的东西。

然后在我的路线中,我有

  scope "/:locale" do
    resources :jurisdictions, :except => ['show']
    resources :ccpayments do
      collection do
        get "checkout"
      end
    end
  end

Rake 路线展示

checkout_ccpayments GET  /:locale/ccpayments/checkout(.:format) ccpayments#checkout

但是,当在 ...:3000/en/ccpayments/checkout 上运行时,我得到了

未知操作找不到操作“结帐” CcpaymentsController

如果我添加一个视图,它将显示该视图,但永远不会调用该操作。我确信我缺少一些基本的东西,因为我是一个 Rails 新手,但是什么?任何帮助表示赞赏!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4


    【解决方案1】:

    您说您的控制器文件名为ccpayments.rb,但控制器的标准命名系统将其命名为ccpayments_controller.rb,这样会导致找不到操作错误。尝试重命名控制器文件,看看是否能解决问题。

    【讨论】:

    • 控制器类的名称也应该是CcpaymentsController
    • 好的,这就是交易。如果你保证不告诉任何人,我会告诉你一个有趣的故事:我花了一整天时间编辑模型而不是控制器。如果你能原谅我一分钟,我现在就去跳窗。
    • 很高兴我能帮上忙! :D
    猜你喜欢
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 2014-04-28
    • 1970-01-01
    • 2019-02-16
    • 2014-08-01
    相关资源
    最近更新 更多