ruby-on-rails - 从像 http ://localhost:3000/user/adem-balka with Rails 5 这样的友好 url 获取参数

标签 ruby-on-rails ruby url parameters ruby-on-rails-5

所以我想在他/她的个人资料页面中显示用户的帖子,如顶部用户详细信息,在所有帖子下方。

我知道我可以从像 http://localhost:3000/posts?category=article 这样的 url 获取参数

if params[:category]
  @category_id = Category.find_by(title: params[:category]).id
  @posts = Post.where(category_id: @category_id)
end

但是当我有一个像 http://localhost:3000/user/adem-balka 这样的 url 时,param 不起作用

那么,我如何获取用户名以找到其 ID 并使用该用户 ID 提取帖子?

谢谢大家。

最佳答案

url 中参数的名称在您的路由文件中设置。

如果您查看 config/routes.rb 中的路由,您应该能够找到与用户模型对应的行。它应该看起来像这样:

get '/users/:name', to: 'users#show'

这意味着如果您转到/users/adem-balka,params[:name] 将被设置为“adem-balka”。然后,您可以在相应的 Controller 函数中访问该参数。

关于ruby-on-rails - 从像 http ://localhost:3000/user/adem-balka with Rails 5 这样的友好 url 获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46178376/

相关文章:

ruby-on-rails - 从 RoR 查询 postgreSQL 比从提示查询慢?

ruby-on-rails - 如何为删除工作人员设置 rake 任务,无论何时使用 gem

ruby - 我安装的 Koala 有什么问题?

javascript - 如果使用javascript删除了视频或videoid不正确,如何验证youtube url?

ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗?

ruby-on-rails - 使用返回字符串的 Haml 助手

ruby - FasterCSV:几个分隔符

ruby-on-rails - 是否有 Rails 4 向后移植库?

jquery删除url中问号后的所有内容

javascript - 这两种传递url参数的方式有什么区别 "/blog/12"和 "/blog?id=12"