更新
这个可以吗?
Student
has_many: hosts
has_many: posts through :students
Post
belongs_to :host
belongs_to :student
Host
has_many posts
has_many students through posts
=============
我正在开发一个平台,学生可以在该平台上创建帐户并发布对他们居住的寄宿家庭的评论。
目前我有三个模型
学生模型、宿主模型和后期模型
我希望视图最终有这个显示的信息
房东联系方式(来自房东模型)、房东电话等(房东模型)、描述框(帖子)中对该特定房东的评论并由学生发布
这是我的 student.rb 的一部分
has_many :posts
has_many :hostfamilies
这是我 post.rb 的一部分
belongs_to :student
belongs_to :host
这是我的 host.rb 的一部分
belongs_to :student
has_many :posts
我有两个带有一些虚假数据的测试页
我的学生控制器下的 index.html.erb 目前看起来像这样
发表者: <%= @student.first_name%> <%=@student.last_name %>
<br>
评论:
<br>
<% @student.posts.each do |post| %>
Post <%= post.id %>
Message: <%= post.message %>
<br>
发表時間: <%= post.created_at %>
<% end %>
我在hostscontroller下的index.html.erb看起来像这样
房東: <%= @host.contact_person %><br>
房東號碼: <%= @host.contact_number %><br>
最近的巴士: <%= @host.nearest_bus %><br>
最近的火車站: <%= @host.nearest_transit %><br>
每月房租: <%= @host.cost %>
到目前为止,它们都正常工作。
首先,我觉得我可以使用比belongs_to 和has_many 更好的表关联关系,因为这两个对我来说相对容易并且非常直接。有没有更好的方法/更清洁的方法来连接这 3 张桌子?我只是对如何连接这三个表有点困惑。我同时在构建和学习 rails,所以我对优化表关联的经验很少。