在 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,您就可以在视图中使用它们,而不是手动将 controlleraction 指定为 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_pathmailbox_inbox_url,因为它们可用作为视图辅助方法。

有关这方面的更多信息,请参阅 this documentation and resources documentation

试试这个命令,你会发现邮箱控制器的所有这些辅助方法

bundle exec rake routes | grep mailbox