所以我在rails应用程序上创建了一个ruby,在我的视图中我有一个link_to列表,每个都是不同的控制台
在我的数据库表中,我有一个名为console的字段。
我想要做的是当用户点击链接时,例如Playstation 3,它将返回该表列中列出的Playstation 3的所有记录。
我想知道如何做到这一点,我尝试在互联网上搜索,但没有找到类似的东西。
对于一个我没有多久完成的项目。我正在接受我在视图的链接中所说的内容以及我将在games_controller中添加的内容。
非常感谢任何帮助。
答案 0 :(得分:2)
基本要点是有一个控制器动作,它将返回由控制台过滤的游戏列表。例如,
# GamesController.rb
def index
@games = Game.find_by_console(params[:console])
end
然后您可以为任何特定的控制台创建链接:
link_to 'XBOX', games_path(:console => 'XBOX')
这会导致对GET
/games?console=XBOX
请求
如果您有一组预定义的控制台,您可能会考虑将它们变成Consoles
模块中的常量,以避免在任何地方对它们进行硬编码。
更新:
由于您尝试在同一个链中实现搜索和过滤,因此如果find_by_console
不存在,则需要确保# GamesController.rb
def index
@games = Game.search(params[:search])
@games = @games.find_by_console(params[:console]) unless params[:console].blank?
end
未被调用。
{{1}}