だから私はRoRが初めてで、select whereステートメントを実行できないようです。これらは次のクラスです。
モデル:
class List < ActiveRecord::Base
has_many :list_categorization
has_many :category, :through => :list_categorization
end
class ListCategorization < ActiveRecord::Base
attr_accessible :category_id, :list_id
belongs_to :category
belongs_to :list
end
class Category < ActiveRecord::Base
attr_accessible :name
has_many :list_categorizations
has_many :lists, :through => :list_categorizations
end
そして、私がやろうとしているのは、特定のカテゴリのリストを選択することです。次のコードを使用して、list_controler でこれの簡略化されたバージョンを実行しようとしました。
class ListsController < ApplicationController
@lists = List.where("category.id = ?", 2)
end
end
そして、次のビューを使用します。
<ul class="lists">
<%= render @lists%>
</ul>
次に、次のエラーが表示されます。
ActiveRecord::StatementInvalid in Lists#index_where
SQLite3::SQLException: そのような列はありません: category.id: SELECT "lists".* FROM "lists" WHERE (category.id = 2) ORDER BY lists.created_at DESC
私は何を間違っていますか?よろしくお願いします。