rubyonrailsin

A Ruby and Rails talk

Sunday, March 14, 2010


[Rails] Undefined method when creating a has_many relationship

by rubyonrailsin 0 comments

Tag


Share this post:
Design Float
StumbleUpon
Reddit

My first attempt at working with a new has_many relationship is
throwing an error in the view when I try to create a new 'rcost'
instance linked to a 'resource' (each resource can have multiple
costs):

"undefined method `rcosts_path' for #<ActionView::Base:0x715bc60>"

Here is the view (new.html.erb) code that appears to be causing the
error (I do not reference rcosts_path anywhere in the view):

<% form_for(@rcost) do |f| %>

Here are my model declarations:

class Resource < ActiveRecord::Base
has_many :rcosts
end

class Rcost < ActiveRecord::Base
belongs_to :resource
end

Here is my route declaration:

map.resources :resources, :has_many => :rcosts

I first tried the build method in my rcosts_controller:

@rcost = @resource.rcosts.build

Then tried new and manually setting the foreign key:

@rcost = @resource.rcosts.new
@rcost.resource_id = @resource.id

But neither worked.

I'd really appreciate it if someone could tell me what is going wrong
and how I can create a new rcost instance associated with an existing
resource instance.

Thanks in advance!
Mark

--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment

Subscribe feeds via e-mail

Blog Archive