Aha. Of course!

Thank you so much I should have kept digging.

Cheers

On Thu, Jan 12, 2017 at 10:08 PM Jeremy Evans <jeremyeva...@gmail.com>
wrote:

> On Thursday, January 12, 2017 at 9:51:26 PM UTC-8, Jon Gross wrote:
>
> First of all, I've done lots of Ruby, but this is my first project with
> Sequel as my persistence layer.  Here is a sample of what is happening.  I
> start with the instantiation of the database and the models, and set up a
> simple association:
>
> require 'sinatra'
> require 'sinatra/sequel'
>
> set :database, 'sqlite://foo.db'
>
> migration "create initial schema" do
>   database.drop_table?(:divesite)
>   database.create_table :divesite do
>     primary_key :id
>     String :title, :size => 50
>     String :description, :text => true
>   end
>
>   database.drop_table?(:dive)
>   database.create_table :dive do
>   primary_key :id
>   Time :start
>   Time :end
>     foreign_key :divesite_id
>     String  :description, :text => true
>     Float :start_pressure
>     Float :end_pressure
>   end
>
> end
>
> class Dive < Sequel::Model(:dive)
>   one_to_one :divesite
>   set_allowed_columns :description
>
> end
> class Divesite < Sequel::Model(:divesite)
>   one_to_many :dives
>   set_allowed_columns :title, :description
> end
>
>
> Now if you do that, and then dump out the association reflection it does
> this (shortened for brevity):
>
> {
>                         :type => :one_to_many,
>                         :name => :dives,
>                         :class_name => "::Dife",
>                         :class => nil,
>                         :block => nil
> }
>
> Dife is not correct, and it means that the association is busted.  I've
> tried using "Dives" and changing the table to be plural, and I've tried
> setting the class_name at the association definition with a ", :class =>
> 'Dive'", but even with that it appears as though the add_* methods still
> become "add_dife".
>
> I can't figure out what I'm doing wrong, or how to get the "auto-wiring"
> of the association to be correct per my schema and database structure.
>
> Am I naming things wrong?  Not finding the settings needed to make this
> correct?
>
>
> You need to add your own singularize rule.  With Sequel's default model
> inflections:
>
>   Sequel::Inflections.singular 'dives', 'dive'
>
> If you are using an inflection library (where String#singularize is
> defined), then you'll need to update the inflections for that library.
> Sequel currently ships with the inflector extension that does this, to
> configure it:
>
>   Sequel.extension :inflector
>   String::Inflections.singular 'dives', 'dive'
>
> Thanks,
> Jeremy
>
>
>
>
>
>
>
>
> --
>
>
> You received this message because you are subscribed to the Google Groups
> "sequel-talk" group.
>
>
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sequel-talk+unsubscr...@googlegroups.com.
>
>
> To post to this group, send email to sequel-talk@googlegroups.com.
>
>
> Visit this group at https://groups.google.com/group/sequel-talk.
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sequel-talk+unsubscr...@googlegroups.com.
To post to this group, send email to sequel-talk@googlegroups.com.
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to