加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用Haml对象引用,例如%的div [@user]

发布时间:2020-12-17 07:09:20 所属栏目:百科 来源:网络整理
导读:Haml有一个很好的功能,叫做 Object reference,我可以这样做: %div[user]= user.name 它产生这样的东西: div id="user_42" class="user"Billy/div 有时,我想为该元素创建一个锚点,如下所示: a href="#user_42"Link to Billy/a 我怎么在哈姆尔那样做?有没
Haml有一个很好的功能,叫做 Object reference,我可以这样做:

%div[user]= user.name

它产生这样的东西:

<div id="user_42" class="user">Billy</div>

有时,我想为该元素创建一个锚点,如下所示:

<a href="#user_42">Link to Billy</a>

我怎么在哈姆尔那样做?有没有比这更简单的方法?:

%a{ :href=> "#user_#{user.id} } Link to Billy

编辑:可以使用自动包含的Haml helpers完成吗?

解决方法

我知道没有内置的方法来做到这一点.我可能会创建一个帮助方法,如果它是你将要做很多事情.

def anchor_to(link_text,object)
  link_to(link_text,"##{object.class.name.underscore}_#{object.id}")
end

如果你需要处理更多的情况(将选项传递给link_to等),你可以使方法更复杂,但是像这样简单的东西会清理一些.生成链接变为:

= anchor_to("Link to Billy",@user)

如果你想使用Haml助手,你可以做一些非常相似的事情(但更令人困惑):

def anchor_to(link_text,object)
  capture_haml do
    haml_tag :a,'Link to Billy',href: "##{object.class.name.underscore}_#{object.id}"
  end
end

尽管如此,如果您在Rails之外执行此操作,则需要注意下划线方法(这是我可以考虑避免使用link_to帮助程序的唯一原因).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读