0
我有一個應用程序,其中book_comments belongs_to書籍。Ajax/Rails嵌套評論
我的路線文件:
resources :books do
resources :book_comments
end
我有show.html.erb的書籍book_comment形式。
def show
@book = Book.find(params[:id])
@new_book_comment = @book.book_comments.build
end
我使用AJAX通過局部張貼book_comments書顯示頁面:_book_comment_form.html.erb:
<%= form_for([@book, @new_book_comment], remote: :true) do |f| %>
<div class="field" style="margin-top:60px;">
<%= f.text_area :comment, rows: 3 %>
<%= f.submit "Add Comment" %>
</div>
<% end %>
當@new_book_comment被稱之爲是指book_comments_controller創建操作:
def create
@book = Book.find(params[:book_id])
@book_comment = current_user.book_comments.build(params[:book_comment]) do |f|
f.book_id = @book.id
end
if @book_comment.save
respond_to do |format|
format.html { redirect_to @book }
format.js { render :layout => false }
end
end
末
的book_comment被保存,但我的親blem來試圖通過AJAX呈現在_book_comments部分時:
<div id="comments">
<% @book_comments.each do |book_comment| %>
<%= render 'comment', :book_comment => comment %>
</div>
<% end %>
</div>
通過:在book_comments文件夾
$("div#comments").append("<%= escape_javascript(render('books/comment'))%>")
綜上所述create.js.erb,我無法使創建book_comments中的.js.erb呈現到書籍展示頁面。爲什麼book_comments文件夾中的create.js.erb不知道要查看對象中的對象,並推斷新書評論應該放在div中?
我的錯誤信息:
undefined method `comment' for nil:NilClass
不understnd原因。看到我將實例變量傳遞給部分註釋。