我想用Rails 4做3個模型之間的簡單關聯,但我不能成功做到這一點。Rails4 - 協會has_many通過 - Reader_id
第一種模式:讀卡器,第二種模式:評論第三種模式:書籍
的關係beetween的3款車型分別是:
類圖書<的ActiveRecord :: Base的 的has_many:評論
類評論< ActiveRecord :: Base belongs_to:book belongs_to:reader
class Reader <的ActiveRecord :: Base的 的has_many:評論 的has_many:書籍,通過:評論
我有關係書的has_many沒有問題:評論,但我有一些問題的關係讀者的has_many:評論。
來自評論表的字段:用戶名,消息和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和信息。當用戶輸入這2個信息時,它將出現reader.name(感謝reader_id)和comment.message。 但我不希望用戶輸入整數「reader_id」(它沒有意義),但直接輸入字符串「reader.name」。 我該怎麼做,知道後我會做一個link_to reader.name到comment.reader?
請幫幫我。 謝謝。
是的,我使用Devise,讀者正是用戶。但我不知道如何給當前用戶分配評論。我的用戶表使用設計只有字段:電子郵件,身份證,密碼。它沒有字段「名稱」(用於評論)。此外,我需要將reader.name分配給評論,因爲我需要通過評論(閱讀器has_many:書籍,通過::評論)創建reader_id和書籍之間的關係 – Joker
檢查我的編輯 – baron816