我有一个使用mongodb的Rails应用程序。我有一个Bot模型,它有一个属性链接(字符串(。我希望用户使用由主机和链接组成的唯一链接重定向到其配置文件(例如。http://localhost:3000/bots/home/06b5f629b3fbec5612ef79dd14d8d762)。
路线.rb
get 'bots/home/:link' => 'bots#home'
bots_controller.rb
def home
@hu = request.url[32..-1]
@bots = Bot.where(link: @hu)
end
因此,我尝试从请求中检索这个唯一值,并将其与数据库中Bot的link属性相匹配,但它不起作用。
首先,使用:link
参数,将所有命名和清理发送到控制器。
然后,我猜你是想得到一个机器人,而不是一个机器人的集合。如果你想要一个Bot集合,你的语法很好,否则在where
之后添加.first
因此,你的方法应该是这样的,而不需要深入研究政治正确性:
def home
@bots = Bot.where(link:params[:link])
end