0
我有一個顯示交易的表單(在index
動作中)。表格由兩部分組成:主要部分和附加部分。通過JS渲染窗體的一部分
<%= 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 %>
現在顯示附加部件的鏈接只能通過JS顯示(從中刪除display: none;
)。但我不想在頁面上渲染額外的部分,只有在用戶點擊此鏈接時才渲染它。由於頁面上有很多交易,並且需要大量時間才能加載頁面,其中包含所有頁面的其他信息。
我試圖讓它遠程並使用show
加載它。
<%= form_for transaction, remote: true do |f| %>
# some form fields (main part)
<%= link_to 'Show additional', transactions_path(transaction), class: 'show_additional', remote: true %>
<% end %>
而且在show.js.erb
$(this).closest('form').append('<%= render 'transaction_additional', transaction: @transaction, f: f %>');
它需要在控制器show
行動@transaction
,但我不知道怎麼打發f
變量show
行動,並獲得
undefined local variable or method `f' for #<#<Class:0x00000109d11258>:0x000001017939a0>
謝謝你的幫助!
發值在地區 –
你既沒有'this'也沒有'f'在你的show.js.erb中,你可以把你的整個表單放在show.js.erb裏面,除了鏈接 –