Đây có lẽ là một câu hỏi ngớ ngẩn, nhưng tôi dường như không thể tìm thấy câu trả lời hay. Tôi muốn biết cách tốt nhất để tham khảo lại mô hình mà một đối tượng thuộc về.Đường ray: Giới thiệu trở lại để mô hình đối tượng thuộc về
Ví dụ:
class User < ActiveRecord::Base
has_many :posts
end
class Post < ActiveRecord::Base
belongs_to :users
end
Vì vậy, để có được bài viết của người dùng, tôi có thể sử dụng user.posts, nhưng để có được người dùng của bưu điện, tôi không thể làm ngược lại: post.user
Nếu Tôi thêm một phương thức "user" vào mô hình Post, nó hoạt động, nhưng nó dường như không phải là cách tốt nhất.
class Post < ActiveRecord::Base
belongs_to :users
def user
User.find(self.user_id)
end
end
Nếu bạn nhìn vào bài viết trên blog này http://www.fortytwo.gr/blog/18/9-Essential-Rails-Tips làm ví dụ, bạn có thể thấy rằng các tác giả sử dụng post.user.username, mà không làm việc ra khỏi hộp cũng như: include => [: người dùng], cũng không hoạt động, ngay cả với phương thức "người dùng" trong mô hình Bài đăng.
Tôi biết điều này là thô sơ, vì vậy cảm ơn sự kiên nhẫn của bạn. Tôi chỉ muốn biết cách tốt nhất để hoàn thành mối quan hệ này.
Mục tiêu chính của tôi là để viết "tìm thấy" bằng cách sử dụng lồng nhau bao gồm, mà xem lại cho người dùng như vậy:
post = Post.find (: tất cả,: include => [: hướng dẫn])
Khi tôi thử điều này, tôi nhận được "ActiveRecord :: ConfigurationError: Hiệp hội có tên 'người dùng' không được tìm thấy; có lẽ bạn đã viết sai chính tả?"
Cảm ơn rất nhiều.
Cảm ơn. Đây chính là câu hỏi ngu ngốc nhất mà tôi từng hỏi. Không thể tin rằng tôi không thấy điều đó. Tôi tự hỏi tại sao nó thậm chí hoạt động nếu bạn làm cho nó số nhiều ... – Shagymoe