找不到动作“索引”,但已定义

问题描述

即使我已定义索引方法,执行HTTP GET The action 'index' could not be found for AttackNarrativesController时也会收到错误/attack_narratives

config/routes.rb

Rails.application.routes.draw do
  ...
  resources :attack_narratives
  ...
end

controllers/attack_narratives_controller.rb

class AttackNarrativesController < ApplicationController
  def index
    puts "test"
  end
end
$ rails routes
...
    attack_narratives GET    /attack_narratives(.:format)            attack_narratives#index
                      POST   /attack_narratives(.:format)            attack_narratives#create
 new_attack_narrative GET    /attack_narratives/new(.:format)        attack_narratives#new
edit_attack_narrative GET    /attack_narratives/:id/edit(.:format)   attack_narratives#edit
     attack_narrative GET    /attack_narratives/:id(.:format)        attack_narratives#show
                      PATCH  /attack_narratives/:id(.:format)        attack_narratives#update
                      PUT    /attack_narratives/:id(.:format)        attack_narratives#update
                      DELETE /attack_narratives/:id(.:format)        attack_narratives#destroy
...

test文本没有出现在日志中。

视图views/attack_narratives/index.slim呈现得很好,但是我需要在index方法中执行代码以向视图提供某些数据。我是Ruby和Rails的新手,并且已经尝试解决数小时了。对于我来说,Rails的“神奇”特性令我非常头疼,因为我什至不知道从哪里开始进行故障排除。我希望我只是忽略了一些简单的事情。感谢所有能提供帮助的人。

$ rails version
Rails 6.0.2.1
$ ruby --version
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]

解决方法

您应该尝试在索引操作中使用Rails Logger

C = (A + B) / 2
C_c = np.ceil(C)
C_c[np.flatnonzero([C!=C.astype(int)])[::2]] -= 1

print(C_c.sum())
#10.0
print(C_c.astype(int))
#[3 4 3]
,

重新启动Rails服务器解决了此问题。谢谢@ sergio-tulentsev

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...