你正在覆盖你的genre_ids
大批。您需要组合两个数组,可以使用+
操作员:
params[:genre_ids] + [genre[0].id]
我认为这可以解决问题:
<%= link_to genre[0].title, pins_path( params.merge({ :genre_ids => (params[:genre_ids] + [genre[0].id]) }) ) %>
但是,应该注意的是,您最终可能会得到重复的数组对象值。您可能需要考虑使用“union”运算符|
.
Example:
first = [1,2,3,4]
second = [3,4,5,6]
first + second #=> [1, 2, 3, 4, 3, 4, 5, 6]
first | second #=> [1, 2, 3, 4, 5, 6]
所以也许你的链接应该是:
<%= link_to genre[0].title, pins_path( params.merge({ :genre_ids => (params[:genre_ids] | [genre[0].id]) }) ) %>