我有两个模型设置:照片和搜索。每张照片都有一个关联的搜索,我想尝试在照片视图中显示相关的搜索。这里是我的模型:在Rails视图中显示关联的模型数据
class Photo < ActiveRecord::Base
has_one :search
end
# Data: name:string, photo_url:string, search_id:integer
简而言之:我不确定是否需要有has_many关联这里或没有。
class Search < ActiveRecord::Base
validates :search_term, :presence => true
has_many :photos
end
# Data: search_term:string
这里是控制器动作:
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
我我甚至不完全确定我为此设置的是c orrect,所以任何帮助将不胜感激。
啊,我和你在一起。我应该在控制器和视图中更改哪些部分? – gosseti
尝试photo.search.search_term' – Edo