在 rails 上 ruby 从一页重定向到另一页的方法
The method to redirect from one page to other on ruby on rails
在我的代码中,我使用了类似的东西:
<li><%= link_to "Find a meal", {:controller =>'microposts', :action => 'index'} %></li>
重定向到另一个页面。
我在研究邮箱部分的时候提到的代码是:
<li><%= link_to "Inbox", mailbox_inbox_path %></li>
并且这种符号在本教程的其他地方也出现了。我认为 mailbox_inbox_path
是一个已经在某处定义的变量。但是我找不到。
This is收件箱消息教程。
mailbox_inbox_path
不是变量。它是由 Rails 根据您在 routes.rb
文件中的路由定义生成的路由辅助方法。做一个:
bundle exec rake routes
然后,您将能够看到您的 Rails 应用程序的所有可用路由,并且在最左边的列中,您将看到 Rails 生成的辅助方法。只需向它们添加 _path
或 _url
,您就可以在视图中使用它们,而不是手动将 controller
和 action
指定为 link_to
.
在教程中的特定示例中,routes.rb
文件中包含以下内容:
get "mailbox/inbox" => "mailbox#inbox", as: :mailbox_inbox
现在,如果您执行以下操作:bundle exec rake routes
,您将看到:
Prefix Verb URI Pattern Controller#Action
mailbox_inbox GET /mailbox/inbox(.:format) mailbox#inbox
因此,在最左边的列中,您会看到 mailbox_inbox
由 Rails 生成,您可以在视图中使用此 mailbox_inbox_path
或 mailbox_inbox_url
,因为它们可用作为视图辅助方法。
有关这方面的更多信息,请参阅 this documentation and resources documentation。
试试这个命令,你会发现邮箱控制器的所有这些辅助方法
bundle exec rake routes | grep mailbox
在我的代码中,我使用了类似的东西:
<li><%= link_to "Find a meal", {:controller =>'microposts', :action => 'index'} %></li>
重定向到另一个页面。
我在研究邮箱部分的时候提到的代码是:
<li><%= link_to "Inbox", mailbox_inbox_path %></li>
并且这种符号在本教程的其他地方也出现了。我认为 mailbox_inbox_path
是一个已经在某处定义的变量。但是我找不到。
This is收件箱消息教程。
mailbox_inbox_path
不是变量。它是由 Rails 根据您在 routes.rb
文件中的路由定义生成的路由辅助方法。做一个:
bundle exec rake routes
然后,您将能够看到您的 Rails 应用程序的所有可用路由,并且在最左边的列中,您将看到 Rails 生成的辅助方法。只需向它们添加 _path
或 _url
,您就可以在视图中使用它们,而不是手动将 controller
和 action
指定为 link_to
.
在教程中的特定示例中,routes.rb
文件中包含以下内容:
get "mailbox/inbox" => "mailbox#inbox", as: :mailbox_inbox
现在,如果您执行以下操作:bundle exec rake routes
,您将看到:
Prefix Verb URI Pattern Controller#Action
mailbox_inbox GET /mailbox/inbox(.:format) mailbox#inbox
因此,在最左边的列中,您会看到 mailbox_inbox
由 Rails 生成,您可以在视图中使用此 mailbox_inbox_path
或 mailbox_inbox_url
,因为它们可用作为视图辅助方法。
有关这方面的更多信息,请参阅 this documentation and resources documentation。
试试这个命令,你会发现邮箱控制器的所有这些辅助方法
bundle exec rake routes | grep mailbox