【发布时间】:2015-12-27 21:22:35
【问题描述】:
我想用 Rails 4 在 3 个模型之间做一个简单的关联,但我不能成功。
第一个模型:阅读器,第二个模型:评论第三个模型:书籍
三个模型之间的关系是:
类书
类注释
类阅读器
我对关系 Book has_many :cmets 没有问题,但我对关系 Reader has_many :cmets 有一些问题。
来自 CommentsTable 的字段:用户名、消息和 reader_id(用于 has_many 关联)。 ReaderTable 中的字段:姓名、电子邮件。
我有一个文件 _form.html.erb 在视图中:
<%= form_for [@book, @comment] do |f| %>
<%= f.hidden_field :book_id %>
<%= f.text_field :reader_id, :placeholder => "reader id" %>
<br />
<%= f.text_area :message %>
<br />
<%= f.submit %>
<% end %>
还有一个文件_comment.html.erb:
<% if comment.reader_id != nil %>
<li><strong><%= link_to comment.reader.name, comment.reader %></strong></li>
<p><%= comment.message %></p>
<% end %>
如您所见,我有一个带有 reader_id 和消息的表单。当用户输入这两个信息时,会出现 reader.name(感谢 reader_id)和 comment.message。 但我不希望用户输入整数“reader_id”(没有意义),而是直接输入字符串“reader.name”。 我怎么能做到这一点,知道之后我会在 reader.name 上做一个 link_to 到 comment.reader ?
请帮助我。 谢谢。
【问题讨论】:
标签: ruby-on-rails-4 has-many-through model-associations