2011-07-06 10 views

答えて

3

手動で印刷すると、非表示のフィールドは印刷されません。これを試してもよろしいですか?

<table> 
    <tr> 
     <%= f.fields_for :group_locations do |gl| %> 
      <td><%= gl.hidden_field :id %></td> 
      <td><%= gl.label :group_id %></td> 
      <td><%= gl.select :group_id, paths %></td> 
     <% end %> 
    </tr> 
</table> 
+0

私はこれが動作すると思われるが、今のところ問題は(謎の)姿を消しています。それが再び現れたら、あなたのアプローチを試みます。 –

0

fields_for方法は、キャプチャブロックの端部に隠されたID <input>を連結します。したがって、<% end %>タグを2番目の</td>の前に置くと、結果が得られます。

+0

関連するレコードごとにが必要なので、問題が発生します。 –

0

これはコメントです(ただし、私は直接コメントすることはできません)。 Dogbertの答えが私のために働いていたことに注意したい。不正なHTMLはほとんどのブラウザを心配していないようです... IE8のテーブルでjquery ui sortableを使用しようとするまで、多くの問題が発生しました(クラッシュを含む)。とにかく、idを明示的にtdの中の隠れたフィールドに入れることは、道に見えます。オブジェクトが永続化されている場合にのみこれを行うことを検討することもできます(そうしないと、隠しフィールドに値はなく、コードによっては問題になることもありません)。オブジェクトが永続化されているかどうかを確認するためのチェックが(上記の場合)のようになります追加:

<% if gl.object.persisted? %> 
    <td><%= gl.hidden_field :id %></td> 
<% end %> 
関連する問題