Как будет работать form_for приложения Timesheet в Rails - PullRequest
1 голос
/ 19 июня 2011

У меня есть следующие модели ActiveRecord

class User < ActiveRecord::Base
  has_many :timesheets
end

class Timesheet < ActiveRecord::Base
  belongs_to :user
  has_many :work_days
end

class WorkDay < ActiveRecord::Base
  belongs_to :timesheet
end

Модель WorkDay имеет такие атрибуты, как hours, days, comments и т. Д.

Не могу понятьто, как форма будет выглядеть в рельсах для этого .. Я видел некоторые сложные формы из Railscasts, но до сих пор не получил его.

Я предполагаю форму, подобную приведенной ниже (на 7 дней):

06/19 (Day1)  06/20 (Day2)  06/21 (Day3)  ...  06/26 (Day 7)
textfield 1   textfield 2   textfield 3   ...  textfield4

<submit>

Итак, у меня есть 7 текстовых полей в этой форме (также могут быть комментарии для каждого из них).

Может кто-нибудь сказать мне / объяснить, как form_for будет выглядеть для этого.

1 Ответ

0 голосов
/ 19 июня 2011

У вас будет что-то вроде этого -

<%= form_for @timesheet do |f| %>

 # Fields for @timesheet attributes.     
 <% f.fields_for 7.times.map{@timesheet.workd_day.new}.each do |t| %>
   Hour: <%= t.text_field hour %>
   Days: <%= t.text_field days %>
   Comments: #one more fields for block for comments.
 <% end %>

 <%= f.sumit "Save" %>
<% end %>
...