Hi All,
I have created sample job application which contain employers area,
admin area and I am using Mysql database. I have created job post area
or form via scaffold then I created authenticated area for employers
via act_as_authenticated, now I have two users when they login they
can see all posts and they can update or delete.
I want each user see his job posts, and by the way I have users table
which created by act_as_authenticated and jobs tables I have created
manually for job posts. I have added FK called users_id in jobs table
and it pointing to PK ID in users tables. When the employer fill new
job post his ID not add to the database I don’t know why.
Could you please guide me to fix users authentications?
I am reading Agile Web D. with Rails book which good but it
talk about shopping cart, I have not find what I need in other book,
this is why I wrote my post here and looking for your help.
Yours,
Waleed
You will need to post the problem code.
My post code I called employer as you see below :
class EmployerController < ApplicationController
before_filter :login_required
def index
list
render :action => ‘list’
end
GETs should be safe (see
URIs, Addressability, and the use of HTTP GET and POST)
verify :method => :post, :only => [ :destroy, :create, :update ],
:redirect_to => { :action => :list }
def list
@job_pages, @jobs = paginate :jobs, :per_page => 10
end
def show
@job = Job.find(params[:id])
end
def new
@job = Job.new
end
def create
@job = Job.new(params[:job])
if @job.save
flash[:notice] = ‘Job was successfully created.’
redirect_to :action => ‘list’
else
render :action => ‘new’
end
end
def edit
@job = Job.find(params[:id])
end
def update
@job = Job.find(params[:id])
if @job.update_attributes(params[:job])
flash[:notice] = ‘Job was successfully updated.’
redirect_to :action => ‘show’, :id => @job
else
render :action => ‘edit’
end
end
def destroy
Job.find(params[:id]).destroy
redirect_to :action => ‘list’
end
end
This above code generated by scaffold and I have added
before_filter :login_required.
Could you please clarify it more?
1- I will add belongs_to :employer to User model
2- I do not have employer model and I have created it also I added
has_many :jobs, and has_one :user
3- I added belongs_to :employer to Job model.
Still not work it show all list for all posts, by the way do I need
create FK in my database? when I post new job i saw my FK null.
Any advices please ?
The must be user_id not users_id. That could be the problem. Look at
the output in the dev log.
You need to make some new files.
A User model (which I think you already have) which
belongs_to :employer
An Employer model which has_many :jobs, and has_one :user
A Job Model which belongs_to :employer
The code you listed shows all your Job activies in your employer
controller.
Get all your controller code generated. I have the feeling you got a
little mixed up.
thanks,
C.
If you are seeing all jobs for all posts you are making progress.
If your Employer model has_many :jobs than you can do something like
@first_employer = Employer.find(:first)
than in a view you can do
<% @first_employer.jobs.each do |job| %>
<%= job.id %>
<% end %>