I can add a League fine but when I try and add a division I get the
error:
“Couldn’t find League without an ID”
I’ve defined the League table with ‘has_many :divisions’
I’ve defined the Division table with ‘belongs_to :league’
Here’s a snippet from my divison new.rhtml
Division Name
You can see I have included league_id as an input field and have passed
the value
as a parameter in the url.(which is working fine, it shows up in the
input field).
When I click on the save button, that’s when I get the error above.
I’m not sure
what it’s trying to tell me let alone what to do to fix it.
It seems like it’s complaining about not finding the league - are you
trying to find the league in your new method of your controller? I
would assume in the new method you would have something like
@league=League.find(params[:league_id])
What file is the error referring to, the form or the controller?
private
def initLeague @league = League.find(params[:league_id]) @league_name = @league.txtLeagueName
end
end
I think the problem lies in initLeague, where you are passing league_id
as a parameter in the URL it is fine yes? However when you submit the
form, to get the league ID you will have to get
params[:division][:league_id].
I don’t think its a good idea calling initLeague in before_filter, you
would be better calling it from within the controller methods where it
is needed.
I’d add to that by saying that not all of those methods will actually
have a league_id passed as a param, so the before_filter will fail
often.
private
def initLeague @league = League.find(params[:league_id]) @league_name = @league.txtLeagueName
end
end
I think the problem lies in initLeague, where you are passing league_id
as a parameter in the URL it is fine yes? However when you submit the
form, to get the league ID you will have to get
params[:division][:league_id].
I don’t think its a good idea calling initLeague in before_filter, you
would be better calling it from within the controller methods where it
is needed.
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.