gpt4 book ai didi

ruby-on-rails - ActionView::Template::Error 未定义方法

转载 作者:数据小太阳 更新时间:2023-10-29 07:53:27 24 4
gpt4 key购买 nike

<分区>

我正在关注 Head First Rails这是为旧版本的 Rails 编写的。我正在处理它的第 2 章项目,但在 Rails 3 中。以下是我的文件。

ads_controller.rb

class AdsController < ApplicationController
def show
@ad = Ad.find(params[:id])
end

def index
@ads = Ad.find(:all)
end
end

广告.rb

class Ad < ActiveRecord::Base
attr_accessible :description, :email, :img_url, :name, :price, :seller_id
end

index.html.rb

</h1>
<ul>
<% for ad in @ads %>
<li><a href="/ads/<%= ad.id %>"><%= ad.name %></a></li>
<% end %>
</ul>

显示.html.rb

<body>
<p>
<b>Name:</b><%= @ad.name %>
</p>
<p>
<b>Description:</b><%= @ad.desciption %>
</p>
<p>
<b>Price:</b><%= @ad.price %>
</p>
<p>
<b>Seller Id:</b><%= @ad.seller_id %>
</p>
<p>
<b>Email:</b><%= @ad.email %>
</p>
<p>
<img src="<%= @ad.img_url %>"/>
</p>
</body>

架构.rb

ActiveRecord::Schema.define(:version => 20121209174120) do

create_table "ads", :force => true do |t|
t.string "name"
t.text "description"
t.decimal "price"
t.integer "seller_id"
t.string "email"
t.string "img_url"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end

end

数据库已填充所有字段。 http://0.0.0.0:3000/ads/有效但http://0.0.0.0:3000/ads/<any number>不起作用并引发以下错误:

Ads#show 中的 NoMethodError

Showing /Users/ava/Projects/mebay/app/views/ads/show.html.erb where line #6 raised:

undefined method `desciption' for #<Ad:0x007f7ff346c100>

Extracted source (around line #6):

3: <b>Name:</b><%= @ad.name %>
4: </p>
5: <p>
6: <b>Description:</b><%= @ad.desciption %>
7: </p>
8: <p>
9: <b>Price:</b><%= @ad.price %>

Rails.root: /Users/ava/Projects/mebay
Application Trace | Framework Trace | Full Trace

app/views/ads/show.html.erb:6:in `_app_views_ads_show_html_erb___4217851794431988162_70093760484140'

在服务器窗口:

ActionView::Template::Error (undefined method `desciption' for #<Ad:0x007f7ff346c100>):
3: <b>Name:</b><%= @ad.name %>
4: </p>
5: <p>
6: <b>Description:</b><%= @ad.desciption %>
7: </p>
8: <p>
9: <b>Price:</b><%= @ad.price %>
app/views/ads/show.html.erb:6:in `_app_views_ads_show_html_erb___4217851794431988162_70093760484140'

如果我删除 show.html.rb 中的描述,那么它可以正常工作并显示名称、价格、seller_id 和电子邮件。我做错了什么?

ruby 版本:ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.4.0]Rails 版本:Rails 3.2.7

谢谢。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com