Cat*_*ria 3 routes views ruby-on-rails ruby-on-rails-3 ruby-on-rails-4
我的 Rails 应用程序的以下文件中有一个视图模板:
app/views/static_pages/mission.html.erb
Run Code Online (Sandbox Code Playgroud)
我想从不同文件夹中的视图模板链接到该页面(对应于应用程序中的不同页面):
app/views/home/home.html.erb
Run Code Online (Sandbox Code Playgroud)
我不知道mission
在StaticPagesController
. 我也是 Rails 的新手。我也不知道如何为它编写路由,我怀疑我可能需要在我的routes.rb文件中编写一个 get 'something' 。
有人可以帮忙吗?
您所要求的可以通过这种方式完成:
在你的routes.rb 中:
get "/path/to/your/mission/page", to: "static_pages#mission", as: "mission"
Run Code Online (Sandbox Code Playgroud)
然后在您的static_pages_controller.rb 中:
class StaticPagesController < ApplicationController
# You can leave the mission method blank, it will render
# the corresponding static_pages/mission.html.erb by default
def mission
end
end
Run Code Online (Sandbox Code Playgroud)
这应该设置静态页面,以便当您访问: 时localhost:3000/path/to/your/mission/page
,您应该能够看到呈现的mission.html.erb 页面。
要从任何其他模板链接到任务页面,您只需指向它的链接,如下所示:
<%= link_to "Mission Page", mission_path %>
Run Code Online (Sandbox Code Playgroud)
或者,由于它是一个静态页面,您可以将路径硬编码到标记中:
<a href="/path/to/your/mission/page">Mission Page</a>
Run Code Online (Sandbox Code Playgroud)
由于您是 Rails 的新手(顺便说一句,欢迎来到 Rails 的世界:D),我希望您发现这些非常有用的资源:
希望这是有帮助的!
归档时间: |
|
查看次数: |
17531 次 |
最近记录: |