gpt4 book ai didi

html - 如何告诉 anchor 标记在 rails 中的 Controller 中执行此操作

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:13 24 4
gpt4 key购买 nike

我是 ruby​​ on rails 的新手。我在路线上遇到问题。我有一个导航菜单。我家里有一个 Controller 。在家庭 Controller 内部,我有几个 Action /方法。因此,当用户单击主页时,它应该通过转到主页索引操作中的主页 Controller 将用户带到主页。当用户点击联系人时,他应该在家庭 Controller 内进行联系操作。其他链接也是如此。

我在这里做的

%a{:href => 'home'} Home
%a{:href => 'home/contact'} Contact

所以当我点击联系人时它给我路由错误

No route matches [GET] "/home/contact"

我该如何解决这个问题?

最佳答案

我知道您是 Rails 的新手。看起来您还没有阅读有关路由如何与 rails 一起工作的详细信息。

我建议您首先熟悉 Rails 指南:Routing from the Outside In.该指南介绍了一些简单的快捷方式,您可以使用这些快捷方式更轻松地设置路线。

例如,完成您正在尝试做的事情的一种方法是使用以下方法:

在您的 /config/routes.rb 文件中,为您想要的链接放置如下条目:

  root :to => "home#home"
get "home/index", :to => "home#index", :as => 'home_index'
get "home/about", :to => "home#about", :as => 'about'
get "home/contact", :to => "home#contact", :as => 'contact'

这些将创建快捷方式,例如 root_pathhome_index_pathabout_pathcontact_path 等,您可以在你的观点中使用。

那么在你看来,你会使用:

 %a{:href => home_index_path } Home
%a{:href => contact_path } Contact

这只是您如何使用路径的开始。您还想学习如何使用 Rails 的“restful 路由”以及如何将 resources 放入您的路由文件中,但这可能超出了您现在所需要的。

关于html - 如何告诉 anchor 标记在 rails 中的 Controller 中执行此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11293486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com