0

建物内のネットワークの地図を作成しています。個別のフロアモデルが機能しており、showメソッドをクリックすると各スイッチが一覧表示されます。次に、各スイッチをクリックして、各スイッチポートのジャック番号を確認できるようにします。私が尋ねた別の質問のおかげでスイッチが機能するという見方がありますが、今は同じショーでジャックを見せようとして立ち往生しています。これがジャックの私の部分です(app / views / jacks / _jacks.html.erb):

<%= form_for <WhatDoIPutHere?> do |f| %>
  <div class="field">
    <%= f.label :number %><br />
    <%= f.text_field :number %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

これで、パスを把握するためにレーキルートを実行する必要があることがわかりました。これが私のレーキルートの結果です:

floor_switch_jacks GET    /floors/:floor_id/switches/:switch_id/jacks(.:format)         jacks#index
                   POST   /floors/:floor_id/switches/:switch_id/jacks(.:format)          jacks#create
new_floor_switch_jack GET    /floors/:floor_id/switches/:switch_id/jacks/new(.:format)      jacks#new
edit_floor_switch_jack GET    /floors/:floor_id/switches/:switch_id/jacks/:id/edit(.:format) jacks#edit
 floor_switch_jack GET    /floors/:floor_id/switches/:switch_id/jacks/:id(.:format)      jacks#show
                   PUT    /floors/:floor_id/switches/:switch_id/jacks/:id(.:format)      jacks#update
                   DELETE /floors/:floor_id/switches/:switch_id/jacks/:id(.:format)      jacks#destroy
    floor_switches GET    /floors/:floor_id/switches(.:format)                           switches#index
                   POST   /floors/:floor_id/switches(.:format)                           switches#create
  new_floor_switch GET    /floors/:floor_id/switches/new(.:format)                       switches#new
 edit_floor_switch GET    /floors/:floor_id/switches/:id/edit(.:format)                  switches#edit
      floor_switch GET    /floors/:floor_id/switches/:id(.:format)                       switches#show
                   PUT    /floors/:floor_id/switches/:id(.:format)                       switches#update
                   DELETE /floors/:floor_id/switches/:id(.:format)                       switches#destroy
            floors GET    /floors(.:format)                                              floors#index
                   POST   /floors(.:format)                                              floors#create
         new_floor GET    /floors/new(.:format)                                          floors#new
        edit_floor GET    /floors/:id/edit(.:format)                                     floors#edit
             floor GET    /floors/:id(.:format)                                          floors#show
                   PUT    /floors/:id(.:format)                                          floors#update
                   DELETE /floors/:id(.:format)                                          floors#destroy
        home_index GET    /home/index(.:format)                                          home#index
              root        /                                                              home#index

私の質問は、form_for行の適切な構文を見つけるためにrakeルートをどのように読み取るかです。そもそもスイッチビューを機能させるのと同じ問題がありました。これが簡単な質問であり、そこにガイドがある場合は、代わりに私をそれに送ってください。これに固有のものが見つからないようです。

助けてくれてありがとう!

編集:

class JacksController < ApplicationController

  def create
    @switch = Switch.find(params[:switch_id])
    @jack = @switch.jacks.create(params[:jack])
    redirect_to switch_path(@switch)
  end

  def destroy
    @switch = Switch.find(params[:switch_id])
    @jack = @switch.jacks.find(params[:id])
    @jack.destroy
    redirect_to switch_path(@switch)
  end

end
4

1 に答える 1

2

ネストされたモデルにネストされたフォームを作成できます。

form_for @floor do |f|
  f.fields_for :switches do |g|
    g.fields_for :jacks do |h|
      h.label :number
    end
  end
end
于 2012-06-13T17:50:42.500 に答える