Ruby on rails如何显示与特定行关联的数据

时间:2015-01-21 16:17:29

标签: ruby-on-rails ruby ruby-on-rails-3 associations relationship

在我的ruby on rails应用程序中,我有一个显示电影细节​​的show.html.erb页面,我想要做的是显示电影的显示日期。在show.html.erb文件中,到目前为止我已经这样做了:

<% @film.showings.each do |film| %>
    <%= @film.showings.show_date %>         
<% end %>

在我的模特中,我有协会:

film.rb:

class Film < ActiveRecord::Base
    has_many :showings
    validates :title, presence: true,  length: { minimum: 3 }
end

showing.rb:

class Showing < ActiveRecord::Base
  belongs_to :film
end

在我的showings_controller.rb中:

class ShowingsController < ApplicationController

    def show
        @showing = Showing.find(params[:id])
    end

end

我做错了什么?在那一刻我得到错误:

电影中的NoMethodError#show #

的未定义方法show_date

我该怎么办?

1 个答案:

答案 0 :(得分:1)

我不知道这是不是问题,但show.html.erb中的代码是错误的。你正在循环显示@film,但在循环中,你仍然指的是所有的放映(@film.showings)。在里面,试试这个:

<% @film.showings.each do |showing| %>
    <%= showing.show_date %>         
<% end %>