Pelo menos 3 dias do Sprint foi gasto tentando resolver o problema. Muita pesquisa e testes.
Basicamente no modelo do projeto há duas tabelas, uma "sections" e outra "texts". Pelo modelo, uma "seção" pode ter vários "textos". Na camada modelo (app/model) estava configurado assim:
class Section < ActiveRecord::Base
has_many :texts
end
class Text < ActiveRecord::Base
belongs_to :section
end
No Ruby on Rails uma das formas de capturar coleções nestes casos é como visto abaixo:
@texts = @section.texts
Porém ao tentar capturar a coleção "texts" gerava erro. Depois de muitas pesquisas e tentativas pensei: será que "text" e/ou "texts" era uma palavra reservada? Não encontrei nada dizendo que não poderiam ser usados tabelas no modelo com esses nomes. Mas mesmo assim, como último recurso, experimentei alterar a tabela "texts" para "articles". E funcionou!!!! O erro parou de ocorrer.
Alterei o nome da tabela de "texts" para "articles". E o código para capturar a coleção para:
@articles = @section.articles
Conclusão....creio que "text/texts" devem ser palavras reservadas, ou geram algum tipo de conflito na linguagem com o tipo de dados "text".
Espero que essa informação seja útil para quem estiver passando por problema semelhante.
Nenhum comentário:
Postar um comentário