我有一个部分形式如下:
_internet_service_form.html.erb
<%= simple_form_for @internet_service, remote: true do |f| %>
<%= f.input :start_date %>
<%= f.button :submit %>
<% end %>
当我在控制器的新操作中渲染它时,它返回一个 500 内部服务器,没有进一步的解释。
当我在控制器的编辑操作中渲染它时,它会正确渲染。
如果我用其中没有 rails 标签的文本块替换部分,它会正确呈现,所以我知道这不是路由错误。
新的.js.erb
$("#result-content").html("<%= escape_javascript(render(partial: 'new')) %>");
新的.html.erb
<%= render partial: 'internet_service_form' %>
internet_service_controller.rb
def new
@internet_service = InternetService.new
end
def edit
@internet_service = InternetService.find(params[:id])
end
这些操作是通过 AJAX 执行的,我从开发日志中得到的最有用的日志是:
Started POST "/accounts/29/internet_services/new.js" for 10.12.68.100 at 2013-02-13 00:28:11 +1300
Processing by InternetServicesController#new as JS
... snip ...
Rendered internet_services/_internet_service_form.html.erb (14.9ms)
Rendered internet_services/_new.html.erb (24.3ms)
Rendered internet_services/new.js.erb (32.2ms)
Completed 500 Internal Server Error in 231ms