Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 删除有很多:通过链接进行关联_Ruby On Rails_Has Many Through - Fatal编程技术网

Ruby on rails 删除有很多:通过链接进行关联

Ruby on rails 删除有很多:通过链接进行关联,ruby-on-rails,has-many-through,Ruby On Rails,Has Many Through,我正在尝试删除通过外观模型关联的演员和电影之间的关联。我想通过点击演员编辑页面上的链接来实现这一点。我已经找到了需要使用的方法(@actor.movies.delete()),但我不确定该放在哪里以及如何获得正确的电影id 以下是我对演员表单中电影字段的部分设置: <%= f.label :title %> <%= f.text_field :title %> <%= f.check_box :_destroy %> <%= f.label :_dest

我正在尝试删除通过
外观
模型关联的
演员
电影
之间的关联。我想通过点击演员编辑页面上的链接来实现这一点。我已经找到了需要使用的方法(
@actor.movies.delete()
),但我不确定该放在哪里以及如何获得正确的
电影
id

以下是我对演员表单中电影字段的部分设置:

<%= f.label :title %>
<%= f.text_field :title %>
<%= f.check_box :_destroy %>
<%= f.label :_destroy, "Remove Movie" %>

如果我将
:allow_destroy=>true
添加到我的
Actor
模型中,上面的操作就可以了,但是我要做的是重写它,这样它就不会删除电影,只会删除关联。

看看这里:

集合。删除(对象,…) 通过删除一个或多个对象,将其从集合中删除 来自联接表的关联。这 不会破坏对象


当然,我需要做的是删除外观,而不是电影对象本身

<% @actor.appearances.each do |appearance| %>
  <div class="field">
    <%= link_to appearance.movie.title, appearance.movie %>       
    <%= link_to 'Delete', appearance, :confirm => 'Are you sure?', :method => :delete %>
  </div>
<% end %>

“你确定吗?”,:method=>:delete%>

正如我在帖子中所说,我已经知道要使用什么函数,只是不知道如何以及在哪里使用它。