gpt4 book ai didi

javascript - rails : Delete nested attribute while updating entry

转载 作者:行者123 更新时间:2023-11-30 15:47:24 25 4
gpt4 key购买 nike

我有一个带有嵌套属性的表单,您可以在其中动态添加和删除属性(表单允许您单击“添加爱好”和“删除爱好”链接......用户有爱好,并且在输入他的个人资料时他可以添加一个、两个、五个或五十个爱好)。

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>

有什么办法吗?我真的不知道该怎么做....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 硬编码为参数(因为我还不能轻松提取它)来让这个该死的东西工作。但是它一直使用字符串“delete”作为用户的 ID.....嗯??

这是日志输出:

Started GET "/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):

最佳答案

您可以使用 Jquery 调用 Ruby 中的函数来为您完成:

Javascript:

$.get( "delete", { id: id_to_delete } )
.done(function( deleted ) {
alert( "Deleted: " + deleted.id );
});

路线(route.rb):

get 'delete', to: 'application_controller#delete'

应用程序 Controller (application_controller.rb):

def delete
id = params[:id].to_i
to_delete = Hobby.find(id).destroy
render json: {id: id}
end

关于javascript - rails : Delete nested attribute while updating entry,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39859967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com