0
モデルがchart
で、chart
のレールアプリがdatasource
です。 datasource
には、多くの場合、datapoints
が含まれている場合があります。 - それは私が何をしようとしているではありませんが、これは正常に動作します'if'ブロック内で宣言されているとモデルは評価されません
@chart = Chart.new(chart_params)
@chart.datasource = Datasource.find_by_id(2)
@chart.save
:私のchart create
方法で、私は次の行を持っています。私は何をしようとしていることは以下の通りです:
Charts#show
で
NoMethodError in Charts#show
undefined method 'datapoints' for nil:NilClass
エラーが出ることを行うと
if @chart.id == 2
@chart.datasource = Datasource.find_by_id(2)
@chart.save
end
で始まる生成されます
<% @chart.datasource.datapoints.each do |c| %>
dates.push("<%= c.date %>")
counts.push(<%= c.count %>)
<% end %>
ifブロックの外側でデータソースIDをハードコードすると、これは完璧に機能します。原因は何かこれ
'Datasource.find(2)'を試しましたか? – Dawcars
@Dawcars、はい私は持っており、それは私に同じエラーを与えます。何らかの理由で@ chart.datasourceはnilです。しかし、 'if'の中で宣言されている場合に限ります。 –
id == 2のグラフがありますか? – Dawcars