如何使「創建」動作只調用js.erb文件,而不是重新加載找到缺少模板的頁面?遠程導軌形式(simple_form_for)
我試圖創建遠程形式的書對象,但行動 '創造' 在這樣的錯誤的結果:
Missing template books/create, application/create with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder, :axlsx, :haml, :rabl]}.
書籍/ _form.haml(庫:@library):
= simple_form_for @book, url: library_books_path(library), remote: true do |f|
books_controller.rb:
def index
@books = @library.books
@book = Book.new
end
def create
@book = @library.books.create(book_params)
end
def destroy
@book = Book.find(params[:book_id])
@book.destroy
end
本書籍/ create.js.erb:
$('#books_table').replaceWith('<%= j render "table", books: @books %>');
UPDATE:
我換書/ create.js.erb:
<% if [email protected]? %>
alert("error!")
<% else %>
$('#books_table').replaceWith('<%= j render "table", books: @books %>');
<% end %>
在這種情況下,當@book
無效,js文件被稱爲罰款,但萬一它可以保存 - 仍然有關於丟失模板的錯誤
這兩個項目(jquery&jquery_ujs)已包含在application.js – Zelenka
請查看我更新的問題 – Zelenka