Ruby on Rails:如何使用不同的控制器 link/route 从一个 view/page 到另一个 view/page
Ruby on Rails: How to link/route from one view/page to another view/page with a different controller
我的 Rails 应用程序的以下文件中有一个视图模板:
app/views/static_pages/mission.html.erb
我想 link 从不同文件夹(对应于应用程序中的不同页面)中的视图模板转到该页面:
app/views/home/home.html.erb
我不知道在 StaticPagesController
中我的 mission
方法中写什么。我也是 Rails 的新手。我也不知道如何为它编写路由,我怀疑我可能需要在我的 routes.rb 文件中写一个 get 'something' 。
有人可以帮忙吗?
你问的可以这样实现:
在你的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 到任务页面,您只需将 link 指向它,就像这样:
<%= link_to "Mission Page", mission_path %>
或者,由于它是静态页面,您可以将路径硬编码到标记中:
<a href="/path/to/your/mission/page">Mission Page</a>
由于您是 Rails 的新手(欢迎来到 Rails 的世界顺便说一句 :D),我希望您发现这些非常有用的资源:
希望对您有所帮助!
我的 Rails 应用程序的以下文件中有一个视图模板:
app/views/static_pages/mission.html.erb
我想 link 从不同文件夹(对应于应用程序中的不同页面)中的视图模板转到该页面:
app/views/home/home.html.erb
我不知道在 StaticPagesController
中我的 mission
方法中写什么。我也是 Rails 的新手。我也不知道如何为它编写路由,我怀疑我可能需要在我的 routes.rb 文件中写一个 get 'something' 。
有人可以帮忙吗?
你问的可以这样实现:
在你的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 到任务页面,您只需将 link 指向它,就像这样:
<%= link_to "Mission Page", mission_path %>
或者,由于它是静态页面,您可以将路径硬编码到标记中:
<a href="/path/to/your/mission/page">Mission Page</a>
由于您是 Rails 的新手(欢迎来到 Rails 的世界顺便说一句 :D),我希望您发现这些非常有用的资源:
希望对您有所帮助!