此代码段是从控制器路径中提取的。 目的是在保存表单后呈现部分。
post :create, :provides => :js do
@note = Note.new(params[:note])
if @note.save
"$('form').after('<p>#{ partial("notes/elikem") }</p>')"
# Not sure why the partial above does not load
else
"alert('Note was not created');"
end
end
这是我们关注的确切代码...从视图调用时的部分渲染。
"$('form').after('<p>#{ partial("notes/elikem") }</p>')"
有用的参考:http://padrinorb.com/guides/application-helpers/ujs-helpers/
答案 0 :(得分:0)
问题是在字符串末尾添加了换行符。这阻止了javascript,因为它无法解释它。
解决方案是使用chomp删除字符串末尾的换行符。
"$('form').after('<p>#{ partial("notes/elikem").chomp }</p>')"