On Apr 5, 12:48 pm, WSzP <c...@ctdd.ro> wrote: > Hello, > I recently updated Rails to 3.0.5. The very same code that worked on > 3.0.3 now gives error. > The code is: > def kategorialista > Kategoria.where(:elfogadva => TRUE).order("nev").collect {|s| > [s.nev, s.sefuri]} > end > > It is in application_controller.rb with > helper_method :kategorialista > > The error it gives on 3.0.5: > SQLite3::SQLException: no such table: kategoria: SELECT "kategoria".* > FROM "kategoria" WHERE "kategoria"."elfogadva" = 't' ORDER BY nev > > Obviously there is no such table as kategoria, but there is > „kategorias” table in SQLite. > > The relevant part of the schema, as generated: > > create_table "kategorias", :force => true do |t| > t.string "nev" > t.string "leiras" > t.boolean "elfogadva", :default => false > t.string "sefuri" > t.datetime "created_at" > t.datetime "updated_at" > end > > Long story short: what was changed, and how to make my code work? And > why this is not mentioned in changelogs?
Looks like the inflection rules were tweaked leading rails (https:// github.com/rails/rails/commit/e925acb8 ) to think that kategoria is pluralized to kategoria (ie that it's already a plural, like stadia). The best thing is probably to add an inflection rule to pluralize kategoria to kategorias. Fred > > Thanks a lot, > WSzP -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.