Неопределенная локальная переменная или метод new_ составлено испанское имя модели в рельсах

Я работаю с RoR с устаревшей базой данных на испанском языке. У меня есть стол и registropersona и модели RegistroPersona и RegistrosPersonasController.

Когда отображается RegistrosPersonasController/index, я получаю сообщение об ошибке

неопределенная локальная переменная или метод new_registro_persona_path для #‹#Class:0xb5d2296c>:0xa5f82a0>

Вот мой код:

registro_persona.rb

class RegistroPersona < ActiveRecord::Base
  self.table_name = "registrospersonas"
end

registros_personas_controller.rb

class RegistrosPersonasController < ApplicationController
  before_action :set_registro_persona, only: [:show, :edit, :update, :destroy]
  def index
    @registros_personas = RegistroPersona.all
  end
end

inflections.rb

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'registro_persona', 'registros_personas'
end

Что я делаю неправильно?

ОБНОВЛЕНИЕ Это вывод команды rake routes | grep registro_persona.

 new_registro_persona GET    /registros_personas/new(.:format)      registros_personas#new
edit_registro_persona GET    /registros_personas/:id/edit(.:format) registros_personas#edit
     registro_persona GET    /registros_personas/:id(.:format)      registros_personas#show

person Cristhian Boujon    schedule 04.11.2013    source источник


Ответы (1)


У вас проблема с маршрутизацией. new_registro_odontologico_path - это неизвестный маршрут для вашего приложения

И не забудьте ПЕРЕЗАПУСТИТЬ сервер после изменения маршрутов :)

person gotva    schedule 04.11.2013
comment
зачем маршрутизация? Контроллер работает нормально, если я удалю строку, содержащую new_registro_odontologico_path - person Cristhian Boujon; 04.11.2013
comment
опубликуйте свой routes.rb (или дайте uoutput для rake routes | grep registro_odontologico). У вас есть new_registro_odontologico_path в представлении, и Rails может построить URL-адрес, используя этот метод (или этот путь вызывается из контроллера? - я нигде не вижу) - person gotva; 05.11.2013
comment
Извините, я отредактировал свой пост persona вместо odontologico - person Cristhian Boujon; 05.11.2013
comment
Хорошо, я вижу. Найдите код, который вызывает этот маршрут new_registro_persona_path — возможно, вы неправильно его называете. - person gotva; 05.11.2013
comment
Этот код был сгенерирован rails, когда я запустил rails g scaffold_controller registro_persona. Также вы можете увидеть мой предыдущий пост - person Cristhian Boujon; 05.11.2013
comment
к сожалению, я не вижу результата скаффолдинга (не могу воспроизвести его локально). Еще одна идея: перезагружаете ли вы свой сервер после добавления маршрутов? - person gotva; 05.11.2013
comment
Я перезапустил сервер и работает. Я чувствую себя глупо. Вы можете добавить решение в свой ответ, и я приму его. - person Cristhian Boujon; 05.11.2013