what I do on almost all my projects (datamapper makes it to easy to
use morethen one repo) is that I am using nested IdentityMaps one for
the default and one for the :external repository
use 'Rails::DataMapper::IdentityMaps', :external
use 'Rails::DataMapper::IdentityMaps'
in order to "dispatch" the models onto the right repository I am
overwrite this method
def self.repository(name = nil, &block)
super(:external, &block)
end
so basically I bind the model to the :external repository in static
way. the same thing I do for transactions !
maybe that helps.
- Kristian
On Jun 29, 6:41 am, Chris Corbyn <[email protected]> wrote:
> Note that you can disable that "everything is wrapped in a repository block"
> behaviour by removing this line from ApplicationController:
>
> use Rails::DataMapper::Middleware::IdentityMap
>
> You won't have an identity-map per-request if you do this though.
>
> On 28/06/2011, at 21:48, Bence wrote:
>
>
>
>
>
>
>
> > Hi,
>
> > I'm new to DataMapper and run into a confusing issue to which I didn't
> > find any answers.
>
> > I have two repositories (:default and :external).
> > Model "ext_model" is persisted in :external by setting the
> > default_repository_name in the model. The model works: the unit tests
> > are green and I can manipulate the model in the console without
> > problems.
> > When I run the unit tests on controller ext_model_controller#index, it
> > is green: retrieves all from ext_model, as it should.
> > But when I launch the webserver and browse to /ext_model_controller/
> > index, I get an error message, and I see that it is looking for
> > ext_model in the :default repository (instead of :external).
> > Shouldn't both the console and the server retrieve the model the same
> > way? Am I missing something? How do I set explicitly the repository on
> > the model so that the webserver uses that?
> > If I wrap the code inside ext_model_controller#index action in
> > DataMapper.repository(:external) {...} then it works, but shouldn't
> > this be unnecessary since I already explicitly assigned a repository
> > to the model?
>
> > Thanks in advance!
>
> > //Bence
>
> > Rails 3.0.9, dm 1.1.0
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "DataMapper" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group
> > athttp://groups.google.com/group/datamapper?hl=en.
--
You received this message because you are subscribed to the Google Groups
"DataMapper" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/datamapper?hl=en.