如果有人能为我阐明这一点,我将非常感激。
我在Rails应用程序中有一个表单来创建新书。
class Book:
has_many :lnkbookauts, :foreign_key => "LSA_BOOK_FK", :dependent => :destroy
has_many :authors, :through => :lnkbookauts
class Author:
has_many :lnkbookauts, :foreign_key => "LSA_AUT_FK", :dependent => :destroy
has_many :books, :through => :lnkbookauts
在new.html.erb表单中,用户可以通过单击显示弹出窗口的按钮来添加作者。用户从该弹出窗口中选择作者,然后单击关闭弹出窗口的按钮,并在我的新书形式的列表框中显示所选的作者姓名。 所有这些都是使用javascript完成的。
单击“保存书籍”按钮可将书籍条目与作者一起保存。
问题是当我点击“编辑”按钮时,我希望作者姓名显示在我的编辑表单的列表框中,但不幸的是,目前情况并非如此。
new.html.erb:
<p class="redLink">List of Authors:- <span><select size=5 id="book_author_ids" name="book[author_ids][]" multiple selected="true"> </select></span>
<br/>
<%= link_to add authors, new_author_path, :popup => ['new_window_name', 'height=400 px, width=500 px']%>
我的edit.html.erb表单也包含相同的作者代码。
编辑表格中是否缺少某些内容?
答案 0 :(得分:2)
您需要告诉编辑部分从哪里阅读options
的{{1}}。尝试将以下内容放在select
标记内:
<select>...</select>
(我假设<%= options_from_collection_for_select(@book.authors, "id", "name") %>
是用于构建表单的Book实例,您希望每个@book
的{{1}}为id
选项的字段,Author
具有value
方法,该方法将提供显示的字符串。)
请参阅here