gpt4 book ai didi

ruby-on-rails - 如何在 new.js.erb 中使用局部变量 f 渲染 RAILS 部分?

转载 作者:行者123 更新时间:2023-12-03 00:47:34 25 4
gpt4 key购买 nike

有一种方法可以在 js.erb 中渲染 erb 页面,如下所示:在 Rails 中使用 :remote => true :

$('#invoice_against_lease').html('$("<%= j render(:file => 'invoice/new.html.erb') %>")');

我们有一个像这样的部分 _customer_quote_record:

   <%= f.input :quote_id, :label => 'Quote#:', :collection => quotes_for_invoice(@customer), :include_blank => true %>
<%= f.hidden_field :_destroy %>

部分内容在 html.erb 中呈现如下,并传递局部变量构建器:

<%= f.simple_fields_for :invoice_items do |builder| %>
<%= render 'customer_quote_record', :f => builder %>
<% end %>

尝试了下面的代码:

$('#invoice_against_lease').html('$("<%= j render(:file => 'customer_lease_record', :f => f) %>")');

错误是“ActionView::Template::Error(未定义的局部变量或方法f'...”`

有没有办法在 js.erb 中渲染上面的部分?

最佳答案

尝试以下操作:

$('#invoice_against_lease').html('$("<%= j render(:partial => 'customer_lease_record', :locals => {:f => f}) %>")');

这当然假设 f 是在您进行此调用的任何位置定义的。如果不同,只需将 :locals => {:f => f} 更改为 :locals => {:f => "YOUR_VARIALBE"}

关于ruby-on-rails - 如何在 new.js.erb 中使用局部变量 f 渲染 RAILS 部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11691612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com