使用socks控制器我想与兄弟姐妹进行比较,使用与鞋子相同的parent_id。
SocksController
def show
@sock = Sock.find(params[:id])
@shoe = Shoe.find(@sock.shoe_id)
@socks = @shoe.socks
end
socks - show.html.erb
<% @socks.each do |sock| %>
<%= link_to sock.sock_name %>
<% end %>
当然,我在show.html.erb中获得所有袜子,但我想从@socks = @ shoe.socks中排除我当前的袜子。有没有办法做到这一点?我现在正在探索where.not选项,但之前从未尝试过。
此外,我最初的def show有什么问题吗?我认为没关系,但感觉我在通话中是多余的,而且我可以简化它以减少查询。
答案 0 :(得分:2)
如果你想在视图中排除当前的袜子,你可以这样做。
<% @socks.each do |sock| %>
<% next if sock.id == @sock.id %>
<%= link_to sock.sock_name %>
<% end %>