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:@book
が有効でない場合、この場合は
<% if [email protected]? %>
alert("error!")
<% else %>
$('#books_table').replaceWith('<%= j render "table", books: @books %>');
<% end %>
:私は図書/ create.js.erbを変更
、jsファイルは正常に呼び出されますが、保存できる場合は、テンプレートが欠落していてもまだエラーがあります
両方の項目(jquery&jquery_ujs)は既にapplication.jsに含まれています – Zelenka
私の更新された質問をご覧ください – Zelenka