Я обновляю приложение до Rails 3, и у меня возникают проблемы при создании собственного внешнего ключа.У меня есть что-то вроде этого:
class Product < ActiveRecord::Base
belongs_to :owner, :class_name => 'User'
...
end
class User < ActiveRecord::Base
has_many :products
...
end
class ProductsController < ApplicationController
before_filter :authenticate_user!
def index
@products = current_user.products
end
end
Представление:
<%- @products.each do |p| -%>
<%= p.created_at %><br />
<%- end -%>
Я получаю эту ошибку в моем журнале Rails:
Mysql::Error: Unknown column 'products.user_id' in 'where clause': SELECT `products`.* FROM `products` WHERE (`products`.user_id = 1)
Это должно увидеть belongs_to :owner
и найдите внешний ключ с именем owner_id
.Я даже попытался явно установить внешний ключ, и это не работает.Я также проверил маяк на возможную ошибку в Rails 3, но не повезло.