Ruby on Rails Tuesday, April 7, 2015

My intention is to create a form along those lines:
<%= form_for(@timesheet, :html => {:multipart => true}) do |f| %>
   
   
<!--creates a new timesheet -->
   
<%= f.label "Enter date for timesheet" %>
   
<%= f.text_field :date %>
     
   
<%= fields_for :payment do |p| %>
   
<!-- Add worked hours for each employee -> @employee = Employee.all on controller (new method)-->
   
<% @employee.each do |t| %>
         
<%= t.fname  %>
         
<br />
         
<%= f.label "Basic Hours" %>
         
<%= p.text_field :hours  %>
         
<br />
   
<% end %>

   
<%= f.submit 'Submit', :class => 'btn btn-primary' %>

<% end %>

My issue is I can't find a way to get this form to create the timesheet and the payment for each employee.

Hopes this makes it a bit easier to understand.

Thanks


On Tuesday, April 7, 2015 at 11:01:08 AM UTC+1, Colin Law wrote:
On 7 April 2015 at 10:41, Bruno Walraven <brunow...@gmail.com> wrote:
> Hi all,
>
> 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.
>
> I hope this makes sense and I can get your help!!

So what is not working, or which bit don't you know how to do?

Have you worked right through a good tutorial such as railstutorial.org?

Colin

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/587e50bf-5901-42eb-aa33-55db3e8b7241%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment