2017-08-09 77 views
1

我需要在我的路由中添加一个#,以便向下滚动到该id,但#是ruby注释,所以当我尝试添加它时,它只是将其注释掉。有没有办法改变这个?如何将id添加到Ruby on Rails路由

我的路线文件

get '#about_me', to: 'pages#home' 

这里是我尝试#about_me_path之前添加#我的应用程序控制器

def nav_items 
[ 
    { 
    url: root_path, 
    title: 'Home' 
    }, 
    { 
    url: about_me_path, 
    title: 'About Me' 
    }, 
    { 
    url: contact_path, 
    title: 'Contact' 
    }, 
    { 
    url: blogs_path, 
    title: 'Blog' 
    }, 
    { 
    url: portfolios_path, 
    title: 'Portfolio' 
    }, 
    { 
    url: tech_news_path, 
    title: 'Tech Tweets' 
    } 

] 

+0

您可以添加更多关于第二部分代码的细节吗?这是哪个文件?一个视图,控制器?你能展示你试图执行的整个方法吗? – DRSE

+0

你可以在路径助手中使用'anchor'选项:'tech_news_path(anchor:'about_me')'。 – MrYoshiji

+0

我把它变成了一个字符串,然后我只是改变了id以匹配创建的内容,而且工作得很好。谢谢@MrYoshiji –

回答

0

我试了一下@MrYoshiji说,一边# about_me_path改成我的应用程序控制器,看起来像这样的字符串

def nav_items 
[ 
    { 
    url: root_path, 
    title: 'Home' 
    }, 
    { 
    url: '#about_me_path', 
    title: 'About Me' 
    }, 
    { 
    url: contact_path, 
    title: 'Contact' 
    }, 
    { 
    url: blogs_path, 
    title: 'Blog' 
    }, 
    { 
    url: portfolios_path, 
    title: 'Portfolio' 
    }, 
    { 
    url: tech_news_path, 
    title: 'Tech Tweets' 
    } 

] 
end 

修复了我的问题

+0

虽然把它放在一个字符串中工作,但它并没有从网站的其他部分工作。但是,使用anchor选项并将about_me_path切换到根路径,它可以在所有部分中正常工作。 –