0

rails3のallows_nested_attributes_for機能を使用してネストされたフォームを実装し、調査フォームを実装しようとしています。調査には多くの質問があり、多くの答えがあります。

:_destroyフィールドを非表示として渡し、リンクがクリックされたときにjQueryを使用して設定したいと思います。正常に動作していましたが、ヘルパーメソッドを使用して同じことを実行しようとすると、非表示のフィールドが表示されません。

module ApplicationHelper
   def link_to_remove_field(link_text, builder)
   builder.hidden_field :_destroy
   link_to link_text, '#',  :class=>"remove_field"
  end
end

これは私が使いたいjquery関数です。

$(function(){
  $('.remove_field').on('click', function(element){
  $(this).prev("input[type=hidden]").val("1");
  $(this).parent('.field').hide();
  return false;
  });
});

そして、これは私がヘルパーと呼んでいる部分的なものです

<%= f.label :question %><br />
<%= f.text_area :question, :rows=>1 %>
<%= link_to_remove_field("Remove question", f) %>

タグは表示されますが、非表示のフィールドは表示されません。

<textarea cols="40" id="old_question_set_old_questions_attributes_2_question" name="old_question_set[old_questions_attributes][2][question]" rows="1"></textarea>
<a href="#" class="remove_field">Remove question</a>
4

1 に答える 1

1

を追加するのを忘れlink_to_remove_fieldたため、最後の行のみを返しています。ヘルパーを次のように変更しますlink_tohidden_field

def link_to_remove_field(link_text, builder)
  builder.hidden_field(:_destroy) +
  link_to(link_text, '#', :class => "remove_field")
end

html_safeこのメソッドを呼び出すときに呼び出す必要がある場合があることに注意してください

link_to_remove_field(....).html_safe
于 2013-03-20T07:01:16.583 に答える