Javascript 通过JS呈现部分表单

Javascript 通过JS呈现部分表单,javascript,ruby-on-rails,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby On Rails 4,我有一个用于显示交易的表单(在索引操作中)。表格由两部分组成:主要部分和附加部分 <%= form_for transaction, remote: true do |f| %> # some form fields (main part) <%= link_to 'Show additional', '#', class: 'show_additional' %> <%= render 'transaction_additional', transac

我有一个用于显示交易的表单(在
索引
操作中)。表格由两部分组成:主要部分和附加部分

<%= form_for transaction, remote: true do |f| %>
  # some form fields (main part)
  <%= link_to 'Show additional', '#', class: 'show_additional' %>
  <%= render 'transaction_additional', transaction: transaction, f: f %>
<% end %>
show.js.erb

$(this).closest('form').append('<%= render 'transaction_additional', transaction: @transaction, f: f %>');

谢谢你的帮助

关于Rahul Singh,您在
show.js.erb
中没有可用的
f
对象,这意味着您必须初始化一个新对象

我会这样做:

#app/views/view/show.js.erb
<%= form_for @transaction do |f| %>
    $("form").append('<%= render 'transaction_additional', transaction: @transaction, f: f %>');
<% end %>
#app/views/view/show.js.erb
$(“表格”)。附加(“”);

在locale中发送值如果show.js.erb中既没有“this”也没有“f”,则可以将整个表单放入show.js.erb中…除了链接
undefined local variable or method `f' for #<#<Class:0x00000109d11258>:0x000001017939a0>
#app/views/view/show.js.erb
<%= form_for @transaction do |f| %>
    $("form").append('<%= render 'transaction_additional', transaction: @transaction, f: f %>');
<% end %>