ruby-on-rails - 如何使用带有参数的 Rails 命名路由助手?

标签 ruby-on-rails routes

给定这条路线

match 'posts/hello/:name/:title' => 'post#show', :as => :hello
  • 有什么方法可以调用hello_path ?
  • 如果我调用 hello_path(@post) ,它试图做什么?

  • 我希望 :name:title文件将自动绑定(bind)到路径,但似乎 rails 只知道如何从模型对象中获取 :id 。

    相反,它只有在我这样称呼它时才有效
    <%= link_to "link2", hello_url(:name=> @post.name, :title=>@post.title) %>
    

    (缺乏适当的文件真的让我很生气)

    最佳答案

    回答你的两个问题:

  • 在命令行中,运行 rake routes看看有哪些路线
    你的应用程序。它将向您展示可以使用命名路线的所有方式,
    只需将“_path”或“_url”添加到显示的路线名称中
    左边。
  • 调用hello_path(@post)将生成一个 URL 到
    显示 该页面hello实例。

  • 您称呼它的方式是规范:
    <%= link_to "link2", hello_url(:name=> @post.name, :title=>@post.title) %>
    

    但是,这也可能有效:
    <%= link_to "link2", hello_url(@post.name, @post.title) %>
    

    这是一些应该有所帮助的文档(Rails API 除外)。
    http://guides.rubyonrails.org/routing.html

    关于ruby-on-rails - 如何使用带有参数的 Rails 命名路由助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531306/

    相关文章:

    ruby-on-rails - 如何在 ruby​​ on rails 的命名路由中添加 +?

    ruby-on-rails - 嵌套 Controller 和子文件夹的 Rails 3 路由

    ruby-on-rails - 回形针 - 存储图像

    ruby-on-rails - Rails 4.0.0、Neo4j - Bundler 找不到 gem "railties"的兼容版本

    ruby-on-rails - Gitorious Rots Ruby on Rails 错误

    ruby-on-rails - Rails 多态关联和路由

    Laravel 5 - 抱歉,找不到您要查找的页面

    javascript - NodeJs Express app.get 处理查询和参数

    ruby-on-rails - 如何设置图片库的样式以允许纵向和横向图片也是链接

    flutter - 如何在我的 Flutter 应用程序中向我的 Flutter 路由添加自定义转换