我想在index.html.erb中显示每篇文章的disqus评论数。我需要生成url字符串并将其传递给link_to
所以基本上类似于url = article_path(article.id)+" / #disqus_thread"
html生成的url字符串将为http://example.com/articles/21/#disqus_thread
以下是代码:
<% @article.each do |article| %>
<% link_to article_path(article.id)'/#disqus_thread' %> <-- not working.
<% end %>
感谢您的帮助!
答案 0 :(得分:1)
首先,您需要知道的是,所有网址助手最终都会调用url_for。您可以在http://api.rubyonrails.org/classes/ActionView/RoutingUrlFor.html#method-i-url_for
找到网址的文档看一下你会发现有:anchor
选项允许你指定url的锚点。所以正确的“Rails方式”来做你需要的是:
<%= link_to article_path(article, anchor: 'disqus_thread') %>
您似乎忘记的另一件事是使用<%=
代替<%
。
答案 1 :(得分:0)
你没有连接字符串,你需要使用+
:
link_to(article_path(article.id)+'/#disqus_thread')
另外,正如@engineersmnky所述,在erb中,<% %>
运行代码而不呈现返回值。要呈现内容,您的代码需要格式化为<%= %>
答案 2 :(得分:-1)
为清晰起见,您可以这样做:
<%= link_to (article_path(article.id)+ "/#disqus_thread") %>
我不确定我是否明白这一点:
我想在index.html.erb
中显示每篇文章的disqus评论数
您希望链接显示如下:
21条评论
然后是我概述的链接路径?如果是这样,那就像:
<%= link_to article.comments.count, (article_path(article.id)+ "/#disqus_thread") %>