I have the follow models in Finance module: class Finance::BillRec < ActiveRecord::Base ... has_many :bill_rec_offs, :dependent => :destroy ... end class Finance::BillRecOff < ActiveRecord::Base ... belongs_to :bill_rec ... end I''m doing this on my form_for: <%= form_for([@bill_rec, @bill_rec_off]) do |f| %> ... <% end %> routes.rb namespace :finance do resources :bill_recs do resources :bill_rec_offs end end And the error: undefined method `finance_bill_rec_finance_bill_rec_offs_path'' for #<#<Class:0x000000070757e0>:0x0000000708bec8> However, the route finance_bill_rec_bill_rec_off_path(@bill_rec_off) works well. How can I do on a form_for with namespace and nested routes with module? -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
did you check with "rake routes"? On Jul 30, 2012, at 0:08 , Marcelo Junior <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> I have the follow models in Finance module: > > class Finance::BillRec < ActiveRecord::Base > ... > has_many :bill_rec_offs, :dependent => :destroy > ... > end > > class Finance::BillRecOff < ActiveRecord::Base > ... > belongs_to :bill_rec > ... > end > > I''m doing this on my form_for: > > <%= form_for([@bill_rec, @bill_rec_off]) do |f| %> > ... > <% end %> > > routes.rb > > namespace :finance do > resources :bill_recs do > resources :bill_rec_offs > end > end > > And the error: > > undefined method `finance_bill_rec_finance_bill_rec_offs_path'' for > #<#<Class:0x000000070757e0>:0x0000000708bec8> > > However, the route finance_bill_rec_bill_rec_off_path(@bill_rec_off) > works well. > > How can I do on a form_for with namespace and nested routes with module? > > -- > Posted via http://www.ruby-forum.com/. > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > For more options, visit https://groups.google.com/groups/opt_out. >-- ==============================================================================Tomas Meinlschmidt, MS {MCT, MCP+I, MCSE, AER}, NetApp Filer/NetCache www.meinlschmidt.com www.maxwellrender.cz www.lightgems.cz ============================================================================== -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
rake routes: finance_bill_rec_bill_rec_offs GET /finance/bill_recs/:bill_rec_id/bill_rec_offs(.:format) finance/bill_rec_offs#index POST /finance/bill_recs/:bill_rec_id/bill_rec_offs(.:format) finance/bill_rec_offs#create new_finance_bill_rec_bill_rec_off GET /finance/bill_recs/:bill_rec_id/bill_rec_offs/new(.:format) finance/bill_rec_offs#new edit_finance_bill_rec_bill_rec_off GET /finance/bill_recs/:bill_rec_id/bill_rec_offs/:id/edit(.:format) finance/bill_rec_offs#edit finance_bill_rec_bill_rec_off GET /finance/bill_recs/:bill_rec_id/bill_rec_offs/:id(.:format) finance/bill_rec_offs#show PUT /finance/bill_recs/:bill_rec_id/bill_rec_offs/:id(.:format) finance/bill_rec_offs#update DELETE /finance/bill_recs/:bill_rec_id/bill_rec_offs/:id(.:format) finance/bill_rec_offs#destroy The routes works well, like <%= link_to "new", new_finance_bill_rec_bill_rec_off(@bill_rec) %> -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
This is because your models are included in other class Finance, and it is very possible for developer to make a mistake understanding of paths or whatever stuff which uses .model_name of your classes. In your case, the concern is - route: namespace :finance do resources :bill_recs do resources :bill_rec_off end end generated ''finance_bill_rec_bill_rec_off_path()'' - thats right in ''namespace'' logic. ''finance'' part in this route is just because you pass the argument ''namespace'' and not because your model_name is ''finance_bill_rec''. But the <%= form_for([@bill_rec, @bill_rec_off]) do |f| %> uses .polymorphic_path() method, and returns you ''finance_bill_rec_finance_bill_rec_offs_path''. Twice ''finance'' in that case is because .model_name returns ''finance_bill_rec'' and ''finance_bill_rec_off'' - thats the clear and real path name you should implement. Yeah, we''d better always let Rails operate on their own methods, hidden from us, like .model_name() or .polymorphic_path(). Ok, working with route: ''namespace :finance do ..'' - is this really what you looking for? I think you just want to operate with your models under browser''s string ''/finance/...'', right? Try another approach for that: resources :bill_recs, :path => ''/finance'' do resources :bill_rec_off end OR scope "/finance" do resources :bill_recs do resources :bill_rec_off end end Anyway, you should implement ''finance_bill_rec_finance_bill_rec_offs_path'' without ''namespace'' On 30.07.2012, at 2:08, Marcelo Junior <lists-fsXkhYbjdPsEEoCn2XhGlw@public.gmane.org> wrote:> I have the follow models in Finance module: > > class Finance::BillRec < ActiveRecord::Base > ... > has_many :bill_rec_offs, :dependent => :destroy > ... > end > > class Finance::BillRecOff < ActiveRecord::Base > ... > belongs_to :bill_rec > ... > end > > I''m doing this on my form_for: > > <%= form_for([@bill_rec, @bill_rec_off]) do |f| %> > ... > <% end %> > > routes.rb > > namespace :finance do > resources :bill_recs do > resources :bill_rec_offs > end > end > > And the error: > > undefined method `finance_bill_rec_finance_bill_rec_offs_path'' for > #<#<Class:0x000000070757e0>:0x0000000708bec8> > > However, the route finance_bill_rec_bill_rec_off_path(@bill_rec_off) > works well. > > How can I do on a form_for with namespace and nested routes with module? > > -- > Posted via http://www.ruby-forum.com/. > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > >-- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
With the resources :bill_recs, :path => ''/finance'' ... and scope "/finance" do ... it appears a message: ActionController::RoutingError (uninitialized constant BillRecOffController): I need to put the models into a namespace beacause there are many files in my project, then Finance::BillRec and Finance::BillRecOff are on Finance model. And also on controllers. And BillRecOff belongs to BillRec, So, it has be as a resource of BillRec resources :bill_recs do resources :bill_rec_off end How I can do? -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.
Issue resolved: http://stackoverflow.com/questions/11713427/form-for-with-module-and-namespace -- Posted via http://www.ruby-forum.com/. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit https://groups.google.com/groups/opt_out.