Ruby on Rails:如何使用不同的控制器从一个视图/页面链接/路由到另一个视图/页面

时间:2015-05-19 01:51:40

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 routes views

我的Rails应用程序中的以下文件中有一个视图模板:

app/views/static_pages/mission.html.erb

我想从不同文件夹中的视图模板链接到该页面(对应于应用中的其他页面):

app/views/home/home.html.erb

我不知道在mission的{​​{1}}方法中写什么。我也是Rails的新手。我也不知道如何为它编写路由,我怀疑我可能需要在 routes.rb 文件中写一个get'thing'。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

你所要求的就是这样:

routes.rb

get "/path/to/your/mission/page", to: "static_pages#mission", as: "mission"

然后在 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

这应该设置静态页面,这样当您访问:localhost:3000/path/to/your/mission/page时,您应该能够看到呈现的mission.html.erb页面。

要从任何其他模板链接到任务页面,您只需指向它的链接,如下所示:

<%= link_to "Mission Page", mission_path %>

或者,由于它是一个静态页面,您只需将路径硬编码到标记中即可:

<a href="/path/to/your/mission/page">Mission Page</a>

由于你是Rails的新手(欢迎来到Rails btw:D的世界),我希望你能找到这些非常有用的资源:

希望这有用!