2014-01-18 5 views
0

두 개의 모델 설정 : 사진 및 검색. 각 사진에는 하나의 관련 검색이 있으며 사진보기에서 관련 검색을 표시하려고합니다. 여기 내 모델은 다음과 같습니다.관련 모델 데이터를 레일 뷰로 표시

class Photo < ActiveRecord::Base 

    has_one :search 

end 

# Data: name:string, photo_url:string, search_id:integer 

간략한 설명 : 여기 has_many 연관성이 필요한지 여부는 확실하지 않습니다.

def index 
    @photos = Photo.all 
end 

그리고 마지막으로, 뷰 템플릿 :

<!-- index.html.erb --> 

<section class="photos"> 
    <%= render @photos %> 
</section> 

<!-- _photo.html.erb --> 

<div class="photo__item"> 
    <h1><%= photo.id %>: <%= photo.name %></h1> 
    <h3>Search_term: <%= photo.search_id.search_term %></h3> 
    <%= image_tag(photo.photo_url) %> 
</div> 

내가지고있어 오류가가 :

undefined method `search_term' for 2:Fixnum 

내가 여기

class Search < ActiveRecord::Base 

    validates :search_term, :presence => true 
    has_many :photos 

end 

# Data: search_term:string 

는 컨트롤러 액션이다 이것에 대한 나의 계획이 c라고 확신 할 지 모르겠다. orrect, 그래서 어떤 도움을 크게 주시면 감사하겠습니다.

답변

1

당신이 사진을 테이블에 SEARCH_ID을 넣어, 그래서 난이

class Photo < ActiveRecord::Base 
    belongs_to :search 
end 

같은 사진 클래스 정의를해야한다 생각하고보기에 당신이를 얻어야한다 이 사진의 검색 인스턴스

<h3>Search_term: <%= photo.search.search_term %></h3>