I am working on an app that has the following setup.
Districts
District Profiles
Days_Months
Building
Building Profiles
Building Locations
I have the resources nested like this
------------------------------------------
resources :buildings do
resources :bprofiles, :shallow => true
resources :blocations, :shallow => true
end
resources :districts do
resources :dprofiles, :shallow => true
end
resources :dprofiles do
resources :days_months, :shallow => true
end
resources :dprofiles, :only => [:index]
resources :bprofiles, :only => [:index]
resources :blocations, :only => [:index]
------------------------------------------
When I edit District Profiles, it works fine with an edit or new record
When I edit Buildings Profiles, it works fine with a new profile or if I
edit or create a new location, however fails with an error if I edit a
building profile.
Error comes back as
------------------------------------------
undefined method `building_bprofile_path' for
#<#<Class:0x00000005e7f3d8>:0x007ff6defb8f60>
Extracted source (around line #1):
<%= form_for [@building, @bprofile] do |f| %>
<% if @bprofile.errors.any? %>
------------------------------------------
Routes do not show that path however locations work and they have the
exact same paths.. The only difference I can see is that Building
Profile is joined with District Profile with a dprofile_id.
------------------------------------------
building_blocations GET
/buildings/:building_id/blocations(.:format) blocations#index
POST
/buildings/:building_id/blocations(.:format) blocations#create
new_building_blocation GET
/buildings/:building_id/blocations/new(.:format) blocations#new
edit_blocation GET /blocations/:id/edit(.:format)
blocations#edit
blocation GET /blocations/:id(.:format)
blocations#show
PATCH /blocations/:id(.:format)
blocations#update
PUT /blocations/:id(.:format)
blocations#update
DELETE /blocations/:id(.:format)
blocations#destroy
building_bprofiles GET
/buildings/:building_id/bprofiles(.:format) bprofiles#index
POST
/buildings/:building_id/bprofiles(.:format) bprofiles#create
new_building_bprofile GET
/buildings/:building_id/bprofiles/new(.:format) bprofiles#new
edit_bprofile GET /bprofiles/:id/edit(.:format)
bprofiles#edit
bprofile GET /bprofiles/:id(.:format)
bprofiles#show
PATCH /bprofiles/:id(.:format)
bprofiles#update
PUT /bprofiles/:id(.:format)
bprofiles#update
DELETE /bprofiles/:id(.:format)
bprofiles#destroy
buildings GET /buildings(.:format)
buildings#index
POST /buildings(.:format)
buildings#create
new_building GET /buildings/new(.:format)
buildings#new
edit_building GET /buildings/:id/edit(.:format)
buildings#edit
building GET /buildings/:id(.:format)
buildings#show
PATCH /buildings/:id(.:format)
buildings#update
PUT /buildings/:id(.:format)
buildings#update
DELETE /buildings/:id(.:format)
buildings#destroy
------------------------------------------
Models are
------------------------------------------
class Building < ActiveRecord::Base
belongs_to :district
has_many :blocations
has_many :bprofiles
class Bprofile < ActiveRecord::Base
belongs_to :building
belongs_to :dprofile
class Blocation < ActiveRecord::Base
belongs_to :building
class District < ActiveRecord::Base
has_many :buildings
has_many :dprofiles
class Dprofile < ActiveRecord::Base
belongs_to :district
has_many :days_months, -> {order('month_number')}
has_many :bprofiles
--
Posted via
http://www.ruby-forum.com/.