【问题标题】:Ruby on rails How do I display data associated with a specific rowRuby on rails 如何显示与特定行关联的数据
【发布时间】:2015-03-20 05:57:52
【问题描述】:

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

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

在我的模型中,我有关联:

电影.rb:

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

显示.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 #

我该怎么办?

【问题讨论】:

  • 这样做会显示错误:#<0x5b596c0>

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多