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"
class Task < ActiveRecord::Base
belongs_to :creator, :class_name => "User", :foreign_key => "created_by"
belongs_to :user, :class_name => "User", :foreign_key => "assigned_to"
I'm using Rails 2.1.1 so I'm doing this in the view:
<% form_for @task do |f| %>
<% 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:
@task = @current_user.created_tasks.build
and here's the create action:
@task = @current_user.created_tasks.build(params[:task])
flash[:notice] = "Task was created"
render :action => 'new'
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.