我有一个如下图所示的表格:
然后我想从 ajax 调用中渲染这个部分:来自 .js.erb
。但我不知道如何将对象从部分传递给 f。见下图:
如何将对象传递给 f:
最佳答案
添加 :remote => true
它使按钮异步(Ajax 调用)。
index.html.erb
<%= link_to "Add Journal", new_journal_path, remote: true, class: 'new_journal_button'%>
new.js.erb
$('.new_journal_button').after("<%= j render('form') %>");
$('.new_journal_button').hide();
If you want to submit a form asynchronously(Ajax call)
_form.html.erb
<%= form_for(@journal, remote: true) do |f| %>
<div class="field">
<%= f.label "journal" %><br>
<%= f.text_field :title, placeholder: 'Journal', autofocus: true, 'data-behavior' => 'submit_on_enter' %>
</div>
<% end %>
Journals_controller.rb
def index
@journal = Journal.new
@journals = Journal.all
end
def create
@journal = Journal.new(journal_params)
respond_to do |format|
if @journal.save
format.html { redirect_to @journal, notice: 'Journal was successfully created.' }
format.js
else
format.html { render :new }
end
end
end
关于javascript - 在 rails 中从 Ajax 渲染部分表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35811435/