0

結果の関連付けに問題があります。それを通してあなたを歩かせてください:

私は2つのテーブルを持っています。ダッシュボード、チャート。

ダッシュボードには多くのグラフがあるため、グラフテーブルにはdashboard_idフィールドがあります。

したがって、ダッシュボードコントローラーに必要なのは、ダッシュボードと関連するすべてのグラフを取得することです。これが私がこれまでに持っているものです:

モデル

class Dashboards < ActiveRecord::Base
     has_many :charts
     ....
end

class Charts < ActiveRecord::Base
     has_one :dashboard
     ....
end

コントローラー

class DashboardsController < ApplicationController
     def show 
         #an ID is passed but for testing...
         @dashboard = Dashboards.includes(:charts)
     end
end

意見

/dashboards/show.html.erb

<%=@dashboard.inspect%>

結果

uninitialized constant Dashboards::Chart

誰かが私が間違っていることを教えてもらえますか?それは私にはかなりきれいに見えます、そして私はこれを研究するのに数時間を費やしました。私は何かを見落としていますか?

4

1 に答える 1

0

まず、モデルクラス名は単数を使用する必要があります(たとえばDashboardChartなど)。また、Chartダッシュボードの関連付けを次のように変更します。

class Chart < ActiveRecord::Base
  belongs_to :dashboard
  ....
end

これで、コントローラー(通常は複数形を使用します)で、これが機能するはずです。

class DashboardsController < ApplicationController
  def show 
    #an ID is passed but for testing...
    @dashboard = Dashboard.includes(:charts)
  end
end
于 2013-01-08T22:38:53.637 に答える