【发布时间】:2015-09-09 17:07:49
【问题描述】:
我的控制器
class AppController < ApplicationController
def index
@users = User.all
end
def show
end
...
index.html.erb
<% @users.each do |user| %>
<h1><%= user.name %><h1>
<%= user.age %>
<%end%>
show.html.erb
<h1>App#show</h1>
<p>Find me in app/views/app/show.html.erb</p>
routes.rb
Rails.application.routes.draw do
resources :app
....
但是当我给出索引的路径时 http://localhost:3000/app/index
它不是显示索引视图,而是显示 show.html.erb 的内容。 我在做什么错误,我无法弄清楚。
【问题讨论】:
-
你试过直接去localhost:3000/app吗?如果您在终端中执行
bin/rake routes,您将看到索引的路径是/app。 Show 将有 /app/[:id] 并且它认为您将 index 作为 id 传递,因此它正在使用 show 路由 -
@aaron.v: 你是对的 :) 解决了这个问题
-
routes.rb 中的控制器和资源应该是复数,模型应该是单数:)
-
@VishnuAtrai:rails 自己创建了这些名称。我刚刚给了控制器应用程序,它创建了这些。
-
太好了,很高兴能帮到你。如果您想了解有关路线如何运作的更多信息,我会访问此page
标签: ruby-on-rails model-view-controller