我目前正在尝试使用群组和奶牛之间的关联,我想为此关联构建一个按钮。为了解释这种情况,我们进入了“ show group ”,它将为每头奶牛显示一个按钮。如果用户点击按钮,它将在当前组和母牛之间建立关联。
实际上没有错误,但关联不起作用
我的代码:
Group_controller:
before_action :set_group
def add_asso
@cow = Cow.find_by(params[:id])
@group.cows << @cow
redirect_to :back
end
显示组:
<% @ranch = @group.ranch %>
<% @cows = @ranch.cows %>
<% @cows.each do |c| %>
<%- if @group.cows.exists?(c.id) %>
<%= link_to add_asso_group_path(@group.id, c.id), method: :post do %>
<div class="btn btn-success">
<%= c.name%>
</div>
<% end %>
<% else %>
<div class="btn btn-info">
<%= c.name%>
</div>
<% end %>
<% end %>
<%= link_to 'Back', groups_path %>
最后我的路线:
resources :groups do
member do
post :add_asso
post :rem_asso
end
end
因此,如果您对如何运行此关联有任何建议,那么您将成为我的英雄!
答案 0 :(得分:0)
我建议你:
查看=
添加关联=
<%= link_to add_asso_group_path(@group, idz: c.id), method: :post do %>
<div class="btn btn-default">
<%= c.name%>
</div>
<% end %>
删除关联=
<%= link_to rem_asso_group_path(@group, idz: c.id), method: :post do %>
<div class="btn btn-success">
<%= c.name%>
</div>
<% end %>
<% end %>
控制器=
- 添加=
def add_asso
@cow = Cow.find(params[:idz])
@group.cows << @cow
redirect_to :back
end
删除=
def rem_asso
@cow = Cow.find(params[:idz])
@group.cows.delete(@cow)
redirect_to :back
end
这应该有用,让我知道兄弟