Ruby on Rails - 路由到home #index

时间:2013-07-01 14:34:35

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

这个是两个人......而且我真的很讨厌用琐碎的东西来打扰你们。但我一直都在这一天,这让我疯了。答案可能就是这么简单,我没有想到它(我来自Symfony背景......)

最初我只有一个控制器:

$ rails generate controller home index

......我把它作为我的根。

最近,我想让数据库参与其中。所以我做了一个名为Daily的脚手架,并将根切换到了dailies #index而不是home #index。

这很好用。一切似乎都很好。

...唯一的问题是我想将home #index用于其他东西......但现在我无法链接到它。

这是我的routes.rb文件:

LiquidAdmin::Application.routes.draw do
resources :dailies


devise_for :users

get '/auth/:provider/callback', to: 'sessions#create'

get "home/bandwall"
get "home/index" :to => "home#index"
# get "dailies/index"
root :to => "dailies#index"

这些是我的路线:

home_index GET    /home/index(.:format)                  home#index

我试过了。

<% link_to "Home", home_path %>
<% link_to "Home", home_index %>
<% link_to "Home", home/index %>

没有什么可以让我回到那个档案......即使它是根本工作也很好。

如果“计划A”有效,那么所有这一切都可以避免......

计划A只是为了制作这个每日脚手架并做类似的事情:

<% @dailies.each do |daily| %>

这是来自Daily index的链接......但不是来自home #index的链接。这就是我切换根的原因。我生气了,而且更容易。

所以我的问题:1。我如何链接到旧家#dedex? 2.我应该如何查询主页上的日常工作表#index?

1 个答案:

答案 0 :(得分:2)

假设您有Daily型号。

<强>的routes.rb

resources :dailies
get "home/index"

正在运行rake routes

dailies    GET    /dailies(.:format)          dailies#index
           POST   /dailies(.:format)          dailies#create
 new_daily GET    /dailies/new(.:format)      dailies#new
edit_daily GET    /dailies/:id/edit(.:format) dailies#edit
     daily GET    /dailies/:id(.:format)      dailies#show
           PUT    /dailies/:id(.:format)      dailies#update
           DELETE /dailies/:id(.:format)      dailies#destroy
home_index GET    /home/index(.:format)     home#index

<强> app/controllers/dailies_controller.rb

class DailiesController
  def index
    @dailies = Daily.all
  end
end

<强> app/views/dailies/index.html.erb

<%= link_to "Home", home_index_path %>

<% @dailies.each do |daily| %>
  <%= link_to 'A daily', daily_path(daily) %>
<% end %>