我有一个正在编写的 sinatra 应用程序。我正在尝试编写一个页面来显示存储在数据库中的各个模式。使用 datamapper 我创建了一个类:
require 'dm-core'
require 'dm-migrations'
DataMapper.setup(:default, "sqlite://#{Dir.pwd}/development.db")
class Pattern
include DataMapper::Resource
property :id, Serial
property :patt, String
property :sentence, String
property :descript, Text
end
DataMapper.finalize
处理 /pattern/:id 的路线是......
get '/pattern/:id' do
@patts = Pattern.get(params[:id])
erb :pattern
end
在我的 pattern.erb 文件中......
<div class="span10">
<h2><%= @patts.patt %></h2>
<p>Example: <%= @patts.sentence % @patts.patt %><p>
<p>Description: <%= @patts.descript %></p>
</div>
我得到的错误是......
NoMethodError at /pattern/1
undefined method `patt' for nil:NilClass
file: pattern.erb location: block in singleton class line: 6
我没有做或做错了什么?