Rails 6 路由错误未定义局部变量或方法

Rails 6 Route Error undefined local variable or method

我的一些路线出现此错误。
#ActionView::Base:0x0000000002ada0 的未定义局部变量或方法“export_on_demand_dictionary_processor_path” 你的意思? export_on_demand_dictionary_processor_index_path

如何在不向所有路由路径添加 'index' 的情况下修复此错误?

url 路径发生错误。

$.ajax({
      type: 'POST',
      url: "<%= export_on_demand_dictionary_processor_path %>",
      data: $('#export_params_input').val() + '&' + $.param({'build_request_id' : $("#build_request_id").val()}),
      success: function(data, text_status, xhr) {
        window.location.href = data["new_href"];
        $("#load_build_section :input").attr("disabled", false);
        $("#export_progress_message").hide();
      },
      error: function(xhr) {
        $("#load_build_section :input").attr("disabled", true);
        $("#export_progress_message").html("Export failed. (HTTP " + xhr.status + ")");

      }
    })

这就是我的 route.rb 的样子。

resources :dictionary_processor, :as  => :dictionary_processor, :only => [] do
  collection {
    get 'import';
    get 'propose_on_demand';
    post 'run_import';
    get 'propose_build';
    post 'export_on_demand';
}

您可以将 resources 更改为 resource 或将 dictionary_processor 更改为 dictionary_processors。 rails.

中名称的单数和复数很重要

请注意,控制器名称将变为复数形式。 更改前后,您可以使用命令检查您的路由以查看更改的内容

rails routes