0

Rails 4を使用してフィールドを動的に削除する必要がある単純なアプリを作成しています。基本的にはRails Castチュートリアルに従って実行していますが、Rails 3では、ほとんどの問題を解決できました。削除リンクは正しく表示されますが、機能しません!!!

私が行くと、localhost:3000/survey/newすべてが問題なく見え、リンクの削除は本来あるべきものです

クリックすると URL が削除されlocalhost:3000/survey/newlocalhost:3000/survey/new#

これは私のコードの一部であり、リンクの削除に関連していると思います

#_form.html.erb
<%= f.fields_for :questions do |ff| %>
<div class="field">
<%= render 'question_fields', :f => ff %>
</div>
<% end %> 

#_question_field.html.erb
<div class="field">
<p>
<%= f.label :content , "question"%><br>
<%= f.text_area :content %>
<%= link_to_remove_fields "remove", f %>
</p>
</div>

module ApplicationHelper
def link_to_remove_fields(name, f)
f.hidden_field(:_destroy) + link_to_function(name, "remove_fields(this)")
end
end

#application.js
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
function remove_fields(link) {
$(link).previous("input[type=hidden]").value = "1";
$(link).parent(".fields").hide();
}

何をすべきか、何が欠けているのかわからないので、助けてください

4

1 に答える 1

3

その Railscast にはいくつかの欠陥があります。最も顕著なのは、単一のフォーム要素のみをページに追加できることです (フォーム要素を含む JS リンクをプリロードし、同じ要素をページに配置し続けます)。この要素には同じ問題があります。id他のものとして)

より良いチュートリアルはここにあります(を使用child_index


コクーンの宝石を見ることを強くお勧めします

上記のリンクでどのように機能するかを確認できますが、要点は、これを使用して、必要な数の新しいフォーム要素を呼び出すことができるということです: link_to_add_association、またはlink_to_remove_association

于 2014-04-14T08:49:15.117 に答える