Rails CouchDB связанные модели не сидят друг друга - PullRequest
1 голос
/ 18 февраля 2011

Имея этот код:

Модели

paciente.rb

class Paciente
  include SimplyStored::Couch
    has_many :consultas
end

consulta.rb

class Consulta
  include SimplyStored::Couch
    belongs_to :paciente 
end

Контроллеры

consultas_controller.rb

class ConsultasController < ActionController::Base
  layout "application"
    before_filter :get_paciente
    def get_paciente
        @paciente = Paciente.find(params[:paciente_id])
    end
  def index
    @consultas = @paciente.consultas.all
  end
    def new
        @consulta = @paciente.consultas.new
    end
  def create
    @consulta = Consulta.create(params[:consulta]) 
    if @consulta.save
      redirect_to(@consulta, :notice => 'Consulta was successfully created.')
    else
      render :action => "new"
    end
  end
end

Маршруты

rout.rb

Example::Application.routes.draw do
    resources :pacientes do
        resources :consultas
    end
end

Ошибка

Я не могу перечислить consultas, как этот.

/ pacientes / очень длинный paciente id идентификатор стиля couchdb / consultas

Я вижу @Объект paciente существует, (я могу его проверить), но я не могу связаться с консультантом оттуда.

Потому что я получаю:

NameError in ConsultasController#index
uninitialized constant Consultum

в этой строке:

@ paciente.consultas.all <- я не могу связаться с consultas </p>

Последние несколько дней прошли много раз, кстати, я использую SymplyStored для доступа к CouchDb;Я уже пытался указать имя класса, но результат тот же, а имя класса совпадает с именем отношения.

Заранее спасибо за любые подсказки!

1 Ответ

2 голосов
/ 18 февраля 2011

Сальвадор - Rails делает определенные предположения о правилах плюрализации, а именно, что они на английском языке. Хотя я не очень знаком с API-интерфейсом couchDB в Rails, из NameError следует, что Rails пытается использовать множественное число Consultas -> Consultum.

Это блог пост о том, как другие разработчики относятся к неанглийским именам моделей и ActiveRecord ... скорее всего, вы работаете с тем же в ActiveModel -> SimplyStored :: Couch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...