【问题标题】:link_to for url with embedded parameters带有嵌入参数的 url 的 link_to
【发布时间】:2015-03-16 23:16:41
【问题描述】:

我对 Rails 还很陌生,所以不确定这里的正确术语,但是..

我想看看当你的 url 在结构中嵌入参数时你如何使用 link_to 帮助器。

如:

http://example.com/appointments/2015/3/15

然后显示某一天的约会。当您知道日期但需要将其作为 URL 的一部分传递时,如何使用链接?

类似于 link_to 'Text'、约会路径(2015/3/15) 还是其他什么?

抱歉,我不确定这里的条款,否则我可能会用 google 找到更好的条件

奖励:你怎么称呼这种类型的参数?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    假设您有一条带有dynamic segments 的路线,例如:

    get '/appointments/:year/:month/:date', to: 'appointments#index', as: :appointments
    

    您只需将年、月和日参数作为参数传递给路径助手:

    link_to appointments_path(year: 2015, month: 3, day: 15)
    

    【讨论】:

    • 非常感谢。你知道这叫什么吗?什么类型的带参数的url结构?
    • 这些被称为dynamic segments
    【解决方案2】:

    你需要自定义你的路线

    get 'appointments/:year/:month/:day', to: 'appointments#show'
    

    ...

    appointments_path(year: '2015', month: '3', day: '15')
    

    【讨论】:

    • 您可能不想使用show 操作在同一天显示多个约会。 index 会更合适。
    【解决方案3】:

    在此处查看 link_to 的 rails 文档:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

    具体来说,您可以将以下示例用于profile 对象:

    link_to "Profile", profile_path(@profile)

    给你:

    <a href="/profiles/1">Profile</a>

    【讨论】:

    • 我不清楚这到底是如何回答我的问题的?能详细点吗?我问的是一种非常具体的 URL 类型,而不仅仅是基本示例
    • 我假设 url 的路径类似于 /:year_no/:month_no/:day_no ...您可以将多个值传递给 url helper
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-20
    • 2017-12-11
    • 2011-02-12
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    相关资源
    最近更新 更多