【问题标题】:Creating href in ruby using html slim使用 html slim 在 ruby​​ 中创建 href
【发布时间】:2019-01-22 15:05:08
【问题描述】:

我正在尝试创建一个 href 以将用户(提供者)名称与用户(提供者)帐户视图链接起来。

我在这方面远非专家 - 试图从代码中引用用户(提供者)帐户的其他地方复制脚本的一部分。

我要添加链接的地方是:

= render partial: 'services/partials/messages/original_message', locals: { header: t('html.text.consultation_with.for_provider', name: @provider_user.name, type: t("element_names.#{@service.service_type}")),...

脚本中用于引用用户(提供者)帐户的部分如下所示:

[href="#{provider_path(provider)}" id="provider-#{provider.id}"]

所以我尝试将这两者结合起来:

= render partial: 'services/partials/messages/original_message', locals: { header: t('html.text.consultation_with.for_provider', name: [href="#{provider_path(provider)}" id="provider-#{provider.id}"], type: t("element_names.#{@service.service_type}")),...

而且对它不起作用并不感到惊讶..

【问题讨论】:

    标签: html ruby-on-rails ruby slim-lang


    【解决方案1】:

    您不能将 slim 元素语法(带有方括号的语法,slim 本身用于创建元素的属性)与 ruby​​ 代码(render 的参数,它只是一个普通的 ruby​​ 方法调用!)

    也许这对你有用,或者一些适应:

    = render partial: 'services/partials/messages/original_message', 
             locals: { 
               header: t('html.text.consultation_with.for_provider', 
               name: @provider_user.name,
               provider_link_href: provider_path(provider),
               provider_link_id: "provider-#{provider.id}",
               type: t("element_names.#{@service.service_type}")),
               ...
             }
    

    然后在部分中,像这样使用它们

    a[href=provider_link_href id=provider_link_id]
      Text of the link
    

    【讨论】:

    • 谢谢,但是应该在哪里使用/指定a[href=provider_link_href id=provider_link_id] Text of the link?我尝试编辑我的 _customer_view.html.slim 文件以添加您所描述的代码。但仅此一点是行不通的。同样在我的情况下,链接的文本是@provider_user.name,它应该是用户(提供者)名称。
    猜你喜欢
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2021-03-12
    相关资源
    最近更新 更多