本当に奇妙なことが起こっており、それを修正する方法がわかりません。
DB に 2 つのクラスがあります。プロジェクトとタイムログ。
プロジェクト コントローラーのインデックス メソッドでは、プロジェクトのリストをリストしています。また、そのプロジェクトのログが最後に入力された日付もリストしたいと考えています。
以下のコードを実行すると、次のエラーが発生します。
No route matches {:action=>"show", :controller=>"projects", :id=>#<Project id: nil, name: "Project A", user_id: 1, created_at: nil, updated_at: nil>}
「選択」行にコメントを付けて、上の行のコメントを外すと (Project.all を使用)、すべてが完全に機能します。
なぜこれが起こっているのでしょうか?
def index
#@projects = Project.all
@projects = Project.select("julianday(Date('now')) - julianday(log.timeofevent) as diff, *").joins("left outer join timelogs log on projects.id = log.project_id").group("projects.id").order("log.timeofevent asc")
respond_to do |format|
format.html # index.html.erb
format.json { render json: @projects }
end
end