필자는 쓰고있는 sinatra 앱이 있습니다. 데이터베이스에 저장된 개별 패턴을 표시하는 페이지를 작성하려고합니다.NoMethodError, sinatra의 속성 호출
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
은/패턴/처리하는 경로 : 내가 만든 클래스 datamapper을 사용하여 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
무엇 내가 잘못하거나 잘못하고있는 것이 아닌가?
아니요. 데이터가있어 문제없이 앱의 다른 섹션에 표시됩니다. –
다음과 같이 몇 가지 테스트 코드를 추가해야합니다 : params [: id] @ putts = Pattern.get (params [: id]) puts @patts erb : pattern end ''' –