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 %>