:o
Do u did before_filtter for the workut to load the activity???
if not so do that in this way
i assume the fallowing relation ship b/w models depending on ur routes
Model Workout
has_many :activities
Model Activity
belongs_to :workout
In the workout controller i assume
def new
@workout= Workout.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @workout}
end
end
def create
@workout= Workout.new(params[:workout])
respond_to do |format|
if @workout.save
format.html { redirect_to(@workout) }
format.xml { render :xml => @workout, :status => :created,
:location => @workout}
else
format.html { render :action => "new" }
format.xml { render :xml => @workout.errors, :status =>
:unprocessable_entity }
end
end
end
in ur activity controller
before_filter :find_workout
def new
@activity= Activity.new
end
def create
@activity = Activity.new(params[:activity])
if (@workout.activities << @activity)
redirect_to workout_url(@workout)
else
render :action => :new
end
end
private
def find_workout
@workout_id = params[:workout_id]
return(redirect_to(workouts_url)) unless @workout_id
@workout= Workout.find(@workout_id)
end
and ur view file for activity/new
<% form_for [EMAIL PROTECTED], @activity] do |form| %>
<fieldset>
<legend>Add an Activity</legend>
<%= render :partial => 'form', :object => form %>
<p>
<%= submit_tag "Create" %>
</p>
</fieldset>
<% end %>
*and the link for the new activity will be
<%= link_to "Add Activity", new_workout_activity_url(@workout) %>
*
*and ur routes
map.resources :workouts do |workout|
workout.resources :activities
end*
If still any issues :o let us know :)
:)
Bala Kishore
On Tue, Sep 9, 2008 at 6:40 PM, Edward Kenworthy <[EMAIL PROTECTED]>wrote:
> 'fraid that doesnt work either.
> NoMethodError in Workouts#show
>
> Showing *workouts/show.html.erb* where line *#15* raised:
>
> undefined method `nil_class_workout_path' for #<ActionView::Base:0x1637cf8>
>
>
> Extracted source (around line *#15*):
>
> 12: <h1>Add an activity to this Workout</h1>
> 13: <div id="submitArea" class="formEnd">
> 14:
> 15: <% form_for [EMAIL PROTECTED], @workout] do |f| %>
> 16:
> 17: <% render :partial => 'activities/form', :locals => {:f
> => f}%>
> 18: <% end %>
>
>
> On 9 Sep 2008, at 12:58, bala kishore pulicherla wrote:
>
> i thought an activity has_many workouts :(
>
> itz in the reverse way :)
>
> try for
> <% form_for [EMAIL PROTECTED], @workout] do |form| %>
>
>
> hope it will work
> :)
>
> Bala
>
> On Tue, Sep 9, 2008 at 5:22 PM, CountBrass <[EMAIL PROTECTED]>wrote:
>
>>
>> 'Fraid that doesn't work. The 'add activity' is part of the Workout
>> show page and the @activity in your code is nil.
>>
>> On Sep 9, 12:41 pm, "bala kishore pulicherla" <[EMAIL PROTECTED]>
>> wrote:
>> > Try for
>> > <% form_for @activity do |form| %>
>> >
>> > :)
>> >
>> > Bala
>> >
>> > On Tue, Sep 9, 2008 at 4:53 PM, CountBrass <[EMAIL PROTECTED]>
>> wrote:
>> >
>> > > Hi
>> >
>> > > I get this error:
>> >
>> > > Showing workouts/show.html.erb where line #14 raised:
>> >
>> > > undefined method `activities_path' for #<ActionView::Base:0x720828>
>> > > Extracted source (around line #14):
>> >
>> > > 11:
>> > > 12: <h1>Add an exercise to this Workout</h1>
>> > > 13: <div id="submitArea" class="formEnd">
>> > > 14: <% form_for(:activity, :url =>
>> activities_path(@workout))
>> > > do |f|
>> > > %>
>> > > 15: <% render :partial => 'activities/form',
>> :locals =>
>> > > {:f => f}%>
>> > > 16: <% end %>
>> > > 17: </div>
>> >
>> > > The top of my routes.rb looks like this:
>> >
>> > > ActionController::Routing::Routes.draw do |map|
>> >
>> > > map.resources :workouts do |workout|
>> > > workout.resources :activities
>> > > end
>> > > .
>> > > .
>> >
>> > > Can anyone give me a clue about what I've done wrong?
>> >
>> > > Edward
>>
>>
>
>
>
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---