我收到一個未定義的方法`名稱'爲#爲我的Rails項目錯誤。我知道這個名字是通過使用我的控制檯進行雙重檢查來爲事件定義的,所以我不明白爲什麼它不會加載。下面是我的一些代碼:爲什麼我的名字方法未定義?
應用顯示:
<h1><%= @app.title %></h1>
<h5>App URL: <%= @app.url %></h5>
<h5>App User_id: <%= @app.user_id %></h5>
<br>
<h2> Events </h2>
<% @events.each do |event| %>
<div>
<%= event.name %><span class="badge"><%= event.count %></span>
</div>
<% end %>
<br>
<%= link_to "Edit", edit_app_path(@app), class: 'btn btn-success' %>
應用程序控制器:
class AppsController < ApplicationController
def create
@app = App.new(params.require(:app).permit(:title, :url))
@app.user_id = 1
if @app.save
flash[:notice] = "App was saved!"
redirect_to @app
else
flash[:error] = "There an error, oh noes!Please try again!"
render :new
end
end
def new
@app = App.new
end
def show
@app = App.find(params[:id])
@events = @app.events.group_by(&:name)
end
def index
@apps = App.all
end
def edit
@app = App.find(params[:id])
end
def update
@app = App.find(params[:id])
if @app.update_attributes(params.require(:app).permit(:title, :url))
flash[:notice] = "Application was updated."
redirect_to @app
else
flash[:error] = "There was an error saving the app. Please try again."
render :edit
end
end
def destroy
@app = App.find(params[:id])
if @app.destroy
flash[:notice] = "App was removed."
redirect_to @app
else
flash[:error] = "App couldn't be deleted. Try again."
redirect_to @app
end
respond_to do |format|
format.html
format.js
end
end
end
活動種子:
create_table "events", force: :cascade do |t|
t.integer "app_id"
t.string "name"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
應用型號:
class App < ActiveRecord::Base
belongs_to :user
has_many :events
end
完全錯誤日誌:
Completed 500 Internal Server Error in 19ms
ActionView::Template::Error (undefined method `name' for #<Array:0x007fcc53394af0>):
6: <h2> Events </h2>
7: <% @events.each do |event| %>
8: <div>
9: <%= event.name %><span class="badge"><%= event.count %></span>
10: </div>
11: <% end %>
12: <br>
app/views/apps/show.html.erb:9:in `block in _app_views_apps_show_html_erb__2949113196422864311_70257764571040'
app/views/apps/show.html.erb:7:in `each'
app/views/apps/show.html.erb:7:in `_app_views_apps_show_html_erb__2949113196422864311_70257764571040'
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/actionpack-4.2.0/lib/action_dispatch/middleware/templates/rescues/_source.erb (7.1ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/actionpack-4.2.0/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (4.1ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/actionpack-4.2.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/actionpack-4.2.0/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (71.2ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/_markup.html.erb (0.7ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/style.css.erb within layouts/inlined_string (0.7ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.5ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string (0.3ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/console.js.erb within layouts/javascript (69.6ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/main.js.erb within layouts/javascript (0.4ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/error_page.js.erb within layouts/javascript (0.7ms)
Rendered /Users/ericpark/.rvm/gems/ruby-2.2.0/gems/web-console-2.1.3/lib/web_console/templates/index.html.erb (156.5ms)
什麼是你'App'模型的結構哈希? – simonwo
你能發佈完整的日誌錯誤嗎? – Pavan
Yup剛剛在我的編輯中添加了模型並完成了日誌錯誤。 –