属性を動的に追加および削除できるネストされた属性を持つフォームがあります(このフォームでは、「趣味を追加」および「趣味を削除」リンクをクリックできます)...ユーザーは趣味を持っています彼のプロフィールに入るとき、彼は1,2,5または50の趣味を加えることができる)。Rails:エントリの更新中にネストされた属性を削除する
nested form gemの助けを借りて、これは完全にうまく動作します。しかし、私はまた、ユーザーのプロファイルを更新する機能を提供します。
このとき、ユーザーは動的な「削除」リンクをクリックして趣味を取り除くことができます。しかし、これは私が望むように、データベースから「趣味」を削除するものではありません。だから私はJqueryまたはJavascript、または存在する場合、オブジェクトをデータベースから削除する何かを書こうとしている。これを行うにはどのような方法があります
...
...
<%= f.fields_for :hobbys, :wrapper => false do |hobby| %>
<tr class="fields">
<td> <%= user.text_field :hobby %> </td>
<td> <%= user.link_to_remove "Remove" %> </td>
</tr>
<% end %>
</table>
<p><%= f.link_to_add "Add hobby", :hobbys, :data => { :target => "#hobbys" } %></p>
<script>
$(document).on('nested:fieldRemoved', function(event){
var field = event.field;
/* ??? Delete field somehow ??? */
})
</script>
:
これは、コードがどのように見えるのですか?私は本当に...
がここにこれまでのところ私の最高の試みだ
UPDATE ... jQueryのデータベースをオフに削除することができますように、それはいないようだ....それについて移動する方法がわかりません
...
...
<%= f.fields_for :hobbys, :wrapper => false do |hobby| %>
<tr class="fields">
<td> <%= user.text_field :hobby %> </td>
<td> <%= user.link_to_remove "Remove" %> </td>
</tr>
<% end %>
</table>
<p><%= f.link_to_add "Add hobby", :hobbys, :data => { :target => "#hobbys" } %></p>
<script>
$(document).on('nested:fieldRemoved', function(event){
$.get("delete", { id: 2 })
alert("Deleted: ");
})
</script>
idを引数としてハードコーディングすることで、私はこの邪魔なことをやろうとしています(まだ簡単には抽出できないので)。しかし、それはユーザーのIDとして文字列 "削除"を使用して.....ハァッ??
ここでは、ログ出力です:
Started GET "https://stackoverflow.com/users/delete?id=2" for 127.0.0.1 at 2016-10-05 08:35:15 -0400
Processing by UsersController#show as */*
Parameters: {"id"=>"delete"}
Current user: anonymous
Completed 404 Not Found in 19.5ms
ActiveRecord::RecordNotFound (Couldn't find User with id=delete):
私はid = "delete"のユーザーがいないというエラーが続きます......私は分かりません – ineedahero