0

Rails 3.2 と simple_form を使用してアプリケーションを構築しています。Twitter Bootstrapを使用して、ネストされた各モデルのフィールドを別のタブに表示しようとしています。いくつかのスタック オーバーフローに関する質問を読んだところ、私がインストールした cocoon gem も推奨されているようです。cocoon サイト ( https://github.com/nathanvda/cocoon )の例に従おうとしていますが、何らかの理由で機能していません。(Slim から標準 Rails への私の翻訳では問題になる可能性があります)。

これが私のコードです。関係のない部分を取り除くために最善を尽くしています。

ここに私のモデルがあります:

class SuperRequest < ActiveRecord::Base
attr_accessible (all of my fields)
has_many :prisms
accepts_nested_attributes_for :prisms

class Prism < ActiveRecord::Base
attr_accessible :access, :business_client, :sla
belongs_to :super_request

私のフォームは次のとおりです。

<%= simple_form_for @super_request, :html => {:class => 'form-horizontal'} do |f| %>
<div class="tabbable"> <!-- Only required for left/right tabs -->
 <ul class="nav nav-tabs">
  <li class="active"><a href="#tab1" data-toggle="tab">Basic Information</a></li>
  <li><a href="#tab2" data-toggle="tab">Prism</a></li>
  <li><a href="#tab3" data-toggle="tab">Computer</a></li>
  <li><a href="#tab4" data-toggle="tab">Software</a></li>
  <li><a href="#tab5" data-toggle="tab">IM</a></li>
 </ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
  <%= f.input :ntid, label: 'NTID' %>
  (a lot more fields)
</div>

<div class="tab-pane" id="tab2">
  <p> Content for PRISM </p>
    <%= f.simple_fields_for :prisms do |prism| %>
      <%= render 'prism_fields', :f => prism %>
    <% end %>
</div>

プリズム フィールドのパーシャルを作成しました。これが私がその部分に持っているものです。

<%= .nested-fields %>
<%= f.inputs do %>
  <%= f.input :access %>
  <%= f.input :business_client %>
  <%= f.input :sla %>
<% end %>

ページがレンダリングされ、ハードコードされたテキスト「Content for PRISM」が表示されます。しかし、プリズムのフィールドはそうではありません。

すべてのヘルプは大歓迎です。

4

1 に答える 1

2

Prismオブジェクト を構築していますか?
例:
1)<% @super_request.prisms.build %>
または複数のオブジェクト:
2)<% 3.times {@super_request.prisms.build} if @super_request.prisms.empty? %>

更新: たとえば、の後に貼り付けてみてください:

<p> Content for PRISM </p>

このコード行:

<% @super_request.prisms.build %>
于 2013-05-14T18:46:58.533 に答える