ruby-on-rails - rails 5 : Adding extra characters on the links

标签 ruby-on-rails

我在 Rails 中创建了一个滚动导航,需要访问 root url + '#about'和页面的类似部分。

这是我的html:

<%= link_to "Home", root_path, class: "nav-link", :"data-id" => "home" %>
<%= link_to "About", root_path, class: "nav-link", :"data-id" => "about" %>
<%= link_to "Testimonials", root_path, class: "nav-link", :"data-id" => "testimonials" %>

这是js代码:
 // Scrolling Nav
  $(".nav-link").click(function(){
      var topData = $( '#' + $(this).attr("data-id")).offset();
      $('html, body').animate({
          scrollTop: topData.top
      }, 'slow');
     });

默认情况下,将滚动到 data-id 或 div 内容部分 ID 为 home 的部分, about , testimonials
Rails 中有没有可以插入 root_path 的方法? + 特定文本,如 #about在我的链接上,如果用户单击 About 之类的链接链接它将解析 url http://localhost:3000#about
我试过这个:
<%= link_to "About", root_path#{#about}, class: "nav-link", :"data-id" => "about" %>

但没有奏效。有没有办法做到这一点?请帮忙!

最佳答案

我不确定我是否理解正确,但您应该能够像这样锚定所需的文本:

root_path(:anchor => 'about')

关于ruby-on-rails - rails 5 : Adding extra characters on the links,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59726844/

相关文章:

ruby-on-rails - 序列化哈希 rails

ruby-on-rails - 即使被软删除也需要返回:name of an object,(使用偏执)

ruby-on-rails - ruby rails : Problem adding Transient Attribute to Object for JSON Serializaton

html - 如何使用 slim 语法转义 HTML 内容中的方括号?

ruby-on-rails - 在 Rails 中上传文件给出 String 文件名而不是 File 或 StringIO 对象

Rails 中每个 View 的 JavaScript 文件

ruby-on-rails - Ruby on Rails 可扩展性/性能?

ruby-on-rails - Simple_form : why two input tags are generated instead of one?

ruby-on-rails - Ruby on Rails 中多列的索引

ruby-on-rails - 如何使用 Ruby on Rails 将 company.address.city 转换为对象