I’ve been stuck trying to get a has_many :through relationship working on my Rails application.
I have a Employee model, a Timesheet model and a Payment model.
The Employee has many Timesheets and a Timesheet has many Employees.
The Timesheet table will contain its ID and a Date. the Payment model is the join table, it belongs to a Employee and a Timesheet, it also has an extra field called hours_worked.
See below models
class Timesheet < ActiveRecord::Base
belongs_to : user
has_many : payments
has_many :employees, :through => :payments
end
class Employee < ActiveRecord::Base
belongs_to : user
has_many : payments
has_many :timesheets, :through => :payments end
class Payment < ActiveRecord::Base
belongs_to : employee
belongs_to :timesheet
end
I want to create a form where I can create a new Timesheet by chosing a date, listing all Employees and allowing me to enter the hours_worked for each employee.
Once I submit the form, it should create a new Timesheet, and create a Payment for each employee with each employee's hours_worked for that specific Timesheet.
Thanks for that Dave! Sometimes we over complicate stuff when learning
I just need to look into creating a form that will allow me to select a date for the timesheet, and then loop through all employees on the database to give me a option to create a timesheet for each employee using that specific date, all in one form.
The form will also allow me to enter the hours worked for each employee. When I submit the form, it should create a timesheet for each employee with their worked hours for that specific date.
a little help with the form and new/create methods would be a great help!