在我的 routes.rb 中我有资源:x 但我还有另一个控制器 y,并且在其中一个页面中我想链接到控制器 x 中的“新”操作。
通常如果我在路由器中定义了匹配语句,例如
match 'signin', to: 'session#new'
我可以去
<%= link_to "text", signin_path %>
但是当我像控制器 x 一样使用资源并且需要链接到新操作时我该怎么办,而不必在 routes.rb 中写出匹配语句
谢谢
在我的 routes.rb 中我有资源:x 但我还有另一个控制器 y,并且在其中一个页面中我想链接到控制器 x 中的“新”操作。
通常如果我在路由器中定义了匹配语句,例如
match 'signin', to: 'session#new'
我可以去
<%= link_to "text", signin_path %>
但是当我像控制器 x 一样使用资源并且需要链接到新操作时我该怎么办,而不必在 routes.rb 中写出匹配语句
谢谢
<%= link_to 'New', new_controller_name_path %>
rake routes
您可以在应用目录中按类型查看所有路线。
如果你想改变默认路径,你可以在config/routes.rb smth 中这样写:
match 'controller_name/new', :to => 'controller_name#new', :as => 'only_my_new', :via => :get
然后创建链接:
<%= link_to 'New', only_my_new_path %>
试试这个
match '/signin' => 'session#new', :as => :new_session
现在,您的登录路径是new_session_path
写入您的视图文件
<%= link_to "SignIn", new_session_path %>
写在你的终端 - $ rake routes
您可以查看您的资源和其他路线。为此,请选择您的“/登录”路径并在您的链接中写入该路径。