我想渲染从ajax响应部分。渲染部分只是从ajax渲染字符串
//app/assets/javascript/pages/contact.js
$("#new_message").on("ajax:success", function(event, data, status, xhr) {
$("#new_message").prepend("<%=j(render 'layouts/error_messages', object: f.object) %>")
});
这是从消息控制器
class MessagesController < ApplicationController
def contact
@message = Message.new(params[:message])
respond_to do |format|
if @message.valid?
ContactMailer.contact_me(@message)
format.html { redirect_to contact_path, notice: 'Message was sent successfully.' }
format.js { render nothing: true }
else
format.html { redirect_to contact_path }
format.js { render nothing: true }
end
end
end
end
我猜这个问题来自于部分它不是送的,我会在要发送的数据在我format.js块。
当AJAX事件被称为它附加字符串,而不是使其
编辑*移动代码contact.js.haml仍然使得它作为字符串返回
$("#new_message").prepend("j(render partial:'layouts/error_messages', object: f.object))")
尝试重命名网络le to'contact.js.erb'以确保ERB标签将被正确解释 – omnikron