请帮助解决问题。
专辑控制器:
def create
@album = current_user.albums.build(album_params)
if @album.save
flash[:success] = :album_saved
redirect_to user_album_path(@current_user, @album)
else
flash.now[:error] = :album_not_saved
render 'new'
end
end
html表格:
<%= form_for [current_user, @album], remote: true do |f| %>
<%= f.text_field :title %>
<%= f.submit %>
<% end %>
布局/ _head.html.erb:
<title>Vd</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
形成它的作品。 ajax-request在数据库中创建一条新记录。
我想在表单中添加一条消息。为此,我添加以下代码
资产/ JavaScript的/ albums.coffee:
$(document).ready ->
$("#new_album").on("ajax:success", (e, data, status, xhr) ->
$("#new_album").append xhr.'<p>album add successfull</p>'
).on "ajax:error", (e, xhr, status, error) ->
$("#new_album").append "<p>ERROR</p>"
结果,表格被加载到屏幕上,显示如下:
相册中的ExecJS :: RuntimeError #new Showing /home/kalinin/rails/phs/app/views/layouts/_head.html.erb第3行 raise:SyntaxError:[stdin]:8:32:意外的字符串
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
答案 0 :(得分:1)
我对CoffeeScript
了解不多,但在查看Guides时,它有以下代码段
$(document).ready ->
$("#new_article").on("ajax:success", (e, data, status, xhr) ->
$("#new_article").append xhr.responseText
).on "ajax:error", (e, xhr, status, error) ->
$("#new_article").append "<p>ERROR</p>"
因此,将$("#new_album").append xhr.'<p>album add successfull</p>'
更改为$("#new_album").append xhr.responseText
可以解决您的问题。