I'm trying to do something relatively basic. I'm using the restful
authentication plugin, so I have Users, and I also have Tasks which
belong to a user:
class User < ActiveRecord::Base
has_many :assigned_tasks, :class_name => "Task", :foreign_key =>
"assigned_to"
has_many :created_tasks, :class_name => "Task", :foreign_key =>
"created_by"
end
class Task < ActiveRecord::Base
belongs_to :creator, :class_name => "User", :foreign_key =>
"created_by"
belongs_to :user, :class_name => "User", :foreign_key =>
"assigned_to"
end
I'm using Rails 2.1.1 so I'm doing this in the view:
# new.html.erb
<% form_for @task do |f| %>
... fields
<% end %>
But the application posts to the index action, not the create action
like it's supposed to; even if I try to post a blank form, when errors
should be raised, it's posting without raising any errors whatsoever.
The new action in the controller reads like this:
def new
@task = @current_user.created_tasks.build
end
and here's the create action:
def create
@task = @current_user.created_tasks.build(params[:task])
if @task.save
flash[:notice] = "Task was created"
redirect_to task_path(@task)
else
render :action => 'new'
end
end
Can someone let me know what I'm doing wrong? Should I not be
creating the task with build? I thought I was getting pretty decent
with the basics of Rails, but I guess not because something this
simple is tripping me up.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---