나는 레일스를 아직도 배우고 있으며 일부 책을 읽었으며 codeschool.com에서 손을 썼다. 이제 처음부터 간단한 응용 프로그램을 작성하려고한다.activerecord rails과의 관계 문제
인증을 위해 장치를 사용하고 있지만 여전히 레일에서 빠져 있기 때문에 테스트를 위해 관리 사용자 만 조치를 취할 수있는 전자 메일 확인을받지 못했습니다. 내 컨트롤러에서 $
, 나는 지수 [1] '의 애완 동물 그래서 나는이 코드를 가지고 관리자를 표시 할
[[email protected] models]$ ls
admin.rb pet.rb user.rb
[[email protected] models]$ cat admin.rb
class Admin < ActiveRecord::Base
has_many :pets
devise :database_authenticatable, :registerable, :timeoutable, :validatable,
:timeout_in => 20.minutes
end
[[email protected] models]$ cat pet.rb
class pet < ActiveRecord::Base
belongs_to :admin
end
[loluser @ 페도라 모델] : 여기
내 모델입니다 :NoMethodError in petsController#index
undefined method `admin' for #<Class:0x7f2daa7b0258>
Rails.root: /home/loluser/dev/app2/devise_example
Application Trace | Framework Trace | Full Trace
app/controllers/pets_controller.rb:7:in `index'
0 :
class petsController < ApplicationController
before_filter :authenticate_admin!
# GET /pets
# GET /pets.xml
def index
admin=Admin.find(1)
@pets = pet.admin.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @pets }
end
end
는 그러나, 나는이 오류를 얻고있다
도움이 될 것입니다. 명확히 할 필요가 있으면 알려주세요.
미리 감사드립니다.
감사를 ADMIN_ID 설정해야하지만 지금은 오류 액티브 :: StatementInvalid PetsController에서 # 지수 sqlite3를 :: SQLExceptio 받고 있어요 n : 해당 열 없음 pets.admin_id : SELECT "pets". * FROM "pets"WHERE ("pets".admin_id = 1) Rails.root :/home/heptagone/dev/app2/devise_example 응용 프로그램 추적 | 프레임 워크 추적 | 전체 추적 app/controllers/pets_controller.rb : 7 : 인덱스에 이미 "bundle exec rake : db migrate"명령을 수행 했으므로 admin_id가 이미 애완 동물의 일부가 될 수 있습니다. 내 원래 게시물에 내 모델을 참조하십시오 – pringles