1

繰り返しますが、私は自分のモデルに my を持っていform_forます。関係をマッピングする方法のレイアウトは次のとおりです。Orderhas_many :services, :through => :requests

 __________                               _________
| Customer |                             | Utility |
 ----------                               ---------
   ||   ^                                     /\
   ||   |                                     ||
   \/   |                                     /\
   _______           _________             _________
  | Order | <=====< | Request |  >=====>  | Service | 
   -------           ---------             ---------
                                              \/
                                              ||
                                              \/
                                           _________  
                                          | Company |
                                           ---------

どこ:

--->                    = belongs_to
===>                    = has_many
<==< join model >==>    = has_many, :through

私の注文フォームでは、利用可能なサービスを表すチェックボックスの配列を用意したいと考えています。これにより、チェックボックスが でラベル付けされ、でCompany分類されていても、注文が完了すると関連付けが終了します(それが本当に顧客が注文する: サービスであるユーティリティを提供する会社)。UtilityOrderService

私のフォームでこれを達成するにはどうすればよいですか?


フォーム ビュー:

- form_for @order do |order_form| 
  -# order form inputs, etc.
  - order_form.fields_for :customer do |customer_form| 
    -# customer form inputs
  - order_form.fields_for :services do |services_form| 
    %dl
      - @services.each do |service_name, services| 
        %dt= service_name
        - services.each do |service_item| 
          %dd
            =# check_box ??????????
            =# label ??????????, Company.find(service_item.company_id).name
  %p= order_form.submit 'Create Order'

どこ:

@services = Service.all.to_set.classify { |service_item| Utility.find(service_item.utility_id).name }
4

1 に答える 1

2

HABTM チェックボックスには Railscast があります。結合モデルでも機能するはずです。

于 2009-11-16T03:25:45.550 に答える