Ruby on rails 将_链接到具有属性的命名范围
在花了一个下午的时间在网上搜索之后。我得问问你 在我的应用程序中,我有一个与一个或多个平台关联的游戏列表。我想向用户推荐一些基于平台的过滤器Ruby on rails 将_链接到具有属性的命名范围,ruby-on-rails,named-scope,Ruby On Rails,Named Scope,在花了一个下午的时间在网上搜索之后。我得问问你 在我的应用程序中,我有一个与一个或多个平台关联的游戏列表。我想向用户推荐一些基于平台的过滤器 我知道我必须使用带有属性的命名作用域。但是我不知道如何制作链接,如果你使用:你和你属于多个一个懒惰的方法是获得所有平台和游戏所有游戏的uniq数组: @games = @plataforms.map(&:games).uniq 如果您使用:有许多: # in your game model scope :by_plataforms, lambda
我知道我必须使用带有属性的命名作用域。但是我不知道如何制作链接,如果你使用
:你和你属于多个一个懒惰的方法是获得所有平台和游戏所有游戏的uniq数组:
@games = @plataforms.map(&:games).uniq
如果您使用:有许多:
# in your game model
scope :by_plataforms, lambda { |plataforms_ids| where(:plataform_id => plataforms_ids) }
示例调用:Game.by_plataforms([1,2,3])
编辑
要创建路由,您可以使用GamesController中的参数按plataform进行筛选:
def index
@games = params[:plataform] ? Plataform.find(params[:plataform]).games : Game.all
end
在意见中:
<%= link_to games_path(:plataform => @plataform.id) %>
@plataform.id)%>
Hi,你在使用:在Plataform
模型中有很多游戏吗?has\u和\u属于\u many
要精确,我的问题不是如何确定范围,我知道。但是我如何在我的视图中建立链接来过滤我的游戏列表呢。或者简单地说,如何设置要在控制器中使用的范围