提交远程表单后,在控制器中呈现部分失败

时间:2017-03-11 18:42:36

标签: padrino

此代码段是从控制器路径中提取的。 目的是在保存表单后呈现部分。

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/

1 个答案:

答案 0 :(得分:0)

问题是在字符串末尾添加了换行符。这阻止了javascript,因为它无法解释它。

解决方案是使用chomp删除字符串末尾的换行符。 "$('form').after('<p>#{ partial("notes/elikem").chomp }</p>')"