2016-03-05 51 views
2

我有一个表格,如下图:渲染表格部分从阿贾克斯在轨

Form with partial

然后我想呈现来自AJAX调用此部分:从.js.erb。但我不知道如何从部分传递对象到f。见下图:

如何传递对象到f:

file .js.erb

+1

链接的形象在这里:1 https://www.dropbox.com/home/Public?preview=Screenshot+from + 2016-03-05 + 14%3A28%3A24.png 2. https://www.dropbox.com/home/Public?preview=Screenshot+from+2016-03-05+14%3A27%3A59.png –

+1

你想运行它吗?异步**?或者你想拉a **形式**与ajaxing? – 7urkm3n

+1

我想拉ajaxing的形式 –

回答

1

添加: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(); 

如果你想提交表单异步(Ajax调用)

_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