3

在命令行中创建数据库并迁移后,我无法让 rails 正确路由到“http://localhost:3000/blog_entries”——它只是显示默认视图,与“http://localhost”相同:3000”。如果我将 blog_entries index.html.erb 中生成的代码轨添加到 application.html.erb 视图中,它会显示预期的结果。

rake routes 给了我以下信息:

      blog_entries GET    /blog_entries(.:format)          blog_entries#index
                POST   /blog_entries(.:format)          blog_entries#create
 new_blog_entry GET    /blog_entries/new(.:format)      blog_entries#new
edit_blog_entry GET    /blog_entries/:id/edit(.:format) blog_entries#edit
     blog_entry GET    /blog_entries/:id(.:format)      blog_entries#show
                PUT    /blog_entries/:id(.:format)      blog_entries#update
                DELETE /blog_entries/:id(.:format)      blog_entries#destroy
           root        /                                home#index

我的 routes.rb 包含以下内容(atm...已经搜索了几个小时的解决方案,我尝试过的一切都失败了):

RubydRailed::Application.routes.draw do

  resources :blog_entries do
    get "blog_entries"
  end

结尾

我对 Rails 很陌生,真的很难理解为什么 Rails 会为 URL“http://localhost:3000/blog_entries”路由到 application.html.erb。我已经查看了文档,搜索了 google 和 stakoverflow 几个小时,但我自己无法弄清楚。非常感谢您的帮助——我相信答案很简单,但我就是不明白。

4

1 回答 1

3

application是你的布局。其中有<%= yield %>,这yield是渲染当前控制器/动作的视图。换句话说,您的布局 ( application.html.erb) 呈现每个请求以及在其中呈现的请求的特定视图。%br

index.html也从public/目录中删除。

于 2012-11-11T13:06:56.630 回答