私は次のように部分的なフォームを持っています:
_internet_service_form.html.erb
<%= simple_form_for @internet_service, remote: true do |f| %>
<%= f.input :start_date %>
<%= f.button :submit %>
<% end %>
コントローラーの新しいアクションでレンダリングすると、それ以上の説明なしで 500 内部サーバーが返されます。
コントローラーの編集アクションでレンダリングすると、正しくレンダリングされます。
パーシャルを Rails タグのないテキスト ブロックに置き換えると、正しくレンダリングされるので、ルーティング エラーではないことがわかります。
new.js.erb
$("#result-content").html("<%= escape_javascript(render(partial: 'new')) %>");
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