0

这是一个两方的。最初我只有一个控制器:

$ 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 只是制作这个 Daily 脚手架并执行以下操作:

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

这作为每日索引的链接......但不是作为 home#index 的链接。这就是我切换根目录的原因。我很生气,这更容易。

所以我的问题是: 1. 我如何链接到旧家#index?2. 我应该如何从 home#index 查询每日任务表?

4

1 回答 1

2

假设你有一个Daily模型。

路线.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 %>
于 2013-07-01T14:42:10.163 回答