【发布时间】:2011-08-09 02:02:52
【问题描述】:
我有一个页面 app/views/new/news.html.erb,我只想从我的 layouts/application.html.erb 中链接到该页面。有人可以帮忙吗!我整个上午都在为此苦苦挣扎。
我尝试过类似
【问题讨论】:
-
您是使用脚手架生成视图还是手动生成的?
标签: ruby-on-rails ruby hyperlink
我有一个页面 app/views/new/news.html.erb,我只想从我的 layouts/application.html.erb 中链接到该页面。有人可以帮忙吗!我整个上午都在为此苦苦挣扎。
我尝试过类似
【问题讨论】:
标签: ruby-on-rails ruby hyperlink
您不会“链接”到视图,而是链接到呈现该视图的控制器。然后,您需要在您的 routes.rb 中添加一个条目来连接该控制器的 url 路由。如果你有一个名为 NewsController 的控制器,它有一个名为 index 的方法,并且你的 routes.rb 中有一个看起来像 resources :news 的条目,那么下面的 link_to 应该可以工作:link_to "News", news_path。
如果不清楚,您的 NewsController 中的 index 方法需要在其中包含 render :news。
听起来您可能想查看有关此主题的指南:http://guides.rubyonrails.org/routing.html
【讨论】:
如果你的设置正确,你的控制器应该有一个复数形式(即news而不是new),以下应该可以工作:
<%= link_to 'News', :controller => "news", :action => :news %>
这是假设您使用的是脚手架。
如果手动添加此文件夹和页面:对于动态页面,您必须在控制器中创建一个操作。对于静态页面,你必须把它放在你的公共文件夹中。
【讨论】:
你总是可以跑
rake routes > routes.txt
在您的应用程序目录中,这会将所有路由的列表转储到 txt 文件中。选择通向您想要的动作和控制器的路径,然后将其作为 link_to 方法的参数提供:)
【讨论】: