在我的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
我该怎么办?
答案 0 :(得分:1)
我不知道这是不是问题,但show.html.erb
中的代码是错误的。你正在循环显示@film
,但在循环中,你仍然指的是所有的放映(@film.showings
)。在里面,试试这个:
<% @film.showings.each do |showing| %>
<%= showing.show_date %>
<% end %>