Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何告诉锚定标记在rails中的控制器中执行此操作_Html_Ruby On Rails_Ruby - Fatal编程技术网

Html 如何告诉锚定标记在rails中的控制器中执行此操作

Html 如何告诉锚定标记在rails中的控制器中执行此操作,html,ruby-on-rails,ruby,Html,Ruby On Rails,Ruby,我是RubyonRails新手。我的路线有问题。我有一个导航菜单。我家有一个控制器。在home controller中,我有几个动作/方法。所以,当用户单击主页时,它应该通过进入主页索引操作中的主页控制器将用户带到主页。当用户点击contact时,他应该会联系home controller内部的操作。其他链接也是如此 我在这里做什么 %a{:href => 'home'} Home %a{:href => 'home/contact'} Contact 所以当我点击contact时

我是RubyonRails新手。我的路线有问题。我有一个导航菜单。我家有一个控制器。在home controller中,我有几个动作/方法。所以,当用户单击主页时,它应该通过进入主页索引操作中的主页控制器将用户带到主页。当用户点击contact时,他应该会联系home controller内部的操作。其他链接也是如此

我在这里做什么

%a{:href => 'home'} Home
%a{:href => 'home/contact'} Contact
所以当我点击contact时,它会给我路由错误

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

如何解决此问题?

您需要在config/routes.rb中为此URL添加路由。像这样的方法应该会奏效:

match 'home/contact' => 'home#contact`

尽管如此,我还是不推荐这种方法,因为它不是RESTful的,并且会导致很多混乱的路由和控制器。有关如何更好地在Rails中设计路由的更多信息,请查看。

您需要在config/routes.rb中为此URL添加路由。像这样的方法应该会奏效:

match 'home/contact' => 'home#contact`

尽管如此,我还是不推荐这种方法,因为它不是RESTful的,并且会导致很多混乱的路由和控制器。有关如何在Rails中更好地设计路线的更多信息,请查看。

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

我建议您先熟悉一下Rails指南:该指南介绍了一些简单的快捷方式,您可以使用这些快捷方式轻松设置路线

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

在您的
/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'
这些将创建快捷方式,如
根路径
主索引路径
关于路径
联系路径
,等等,您可以在视图中使用

然后在您看来,您将使用:

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

这只是如何使用路径的开始。您还需要学习如何使用rails的“restful路由”以及如何将
资源
放在路由文件中,但这可能超出了您目前需要的范围。

我知道您是rails新手。看起来您还没有阅读有关rails的路由工作原理的详细信息

我建议您先熟悉一下Rails指南:该指南介绍了一些简单的快捷方式,您可以使用这些快捷方式轻松设置路线

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

在您的
/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'
这些将创建快捷方式,如
根路径
主索引路径
关于路径
联系路径
,等等,您可以在视图中使用

然后在您看来,您将使用:

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

这只是如何使用路径的开始。您还需要学习如何使用rails的“restful路由”以及如何在路由文件中放置
资源,但这可能超出了您目前所需的范围。

我在routes
match“home/contact”=>“home/contact”=>,:via=>:get
中有此功能,但现在它给了我模板丢失的错误。您确实需要进一步研究rails。缺少模板意味着没有联系人视图。你最好也使用link_来代替%a。@WawaLoo是对的。Rails是一个巨大的框架,如果只是在出现错误时进行黑客攻击并解决错误,您将不会从中受益匪浅。我会从Rails指南开始,但是还有很多其他很棒的免费入门资源。我得到了@WawaLoo的建议。他是对的,但现在我需要这个,因为有一个严格的时间表。我已经有了这个视图,但是在不同的文件夹中。现在我创造了它,但是所有的图像都消失了。我对图像使用类似的方法
%img{:src=>'assets/logo.png'}
您需要使用image\u标记。对不起,有很多东西要学。你不需要太多时间。只要通读一下指南,几个小时后,你就会有一个更好的想法。你会浪费时间去解决问题,而不是学习原则。祝你好运。我在routes
匹配“home/contact”=>“home#contact”,:via=>:get
中有这个,但现在它给了我模板缺失错误。你真的需要进一步研究Rails。缺少模板意味着没有联系人视图。你最好也使用link_来代替%a。@WawaLoo是对的。Rails是一个巨大的框架,如果只是在出现错误时进行黑客攻击并解决错误,您将不会从中受益匪浅。我会从Rails指南开始,但是还有很多其他很棒的免费入门资源。我得到了@WawaLoo的建议。他是对的,但现在我需要这个,因为有一个严格的时间表。我已经有了这个视图,但是在不同的文件夹中。现在我创造了它,但是所有的图像都消失了。我对图像使用类似的方法
%img{:src=>'assets/logo.png'}
您需要使用image\u标记。对不起,有很多东西要学。你不需要太多时间。只要通读一下指南,几个小时后,你就会有一个更好的想法。你会浪费时间去解决问题,而不是学习原则。祝你好运