2014-12-21 6 views
1

Частично Ajax не оказывает в моем приложении rails.Ajax не оказывает частичное применение в рельсах

У меня есть модель Article. Я пытаюсь добавить новые статьи, используя Ajax

Пожалуйста, найдите код ниже.

cart.html.erb

<div id="articles"> 
    <%= render 'showarticles' %> 
</div> 

cart.js.erb

$('#articles').html('<%= escape_javascript(render('static_pages/showarticles')) %>'); 
$('.form-control').val('') 

routes.rb

match 'cart/:id', to: 'static_pages#cart', via: [:get, :post] 

_showarticles.html.erb

<%= form_for @article, :remote => true do |f| %> 
<%= f.text_area :name, :class => "form-control" %> 
<% end %>  
<% @art.each do |a| %> 
<%= a.name %> 
<% end %> 

static_pages_controller.rb

def cart 
    @art = Article.all 
    @article = Article.new 
    respond_to do |format| 
    format.html 
    format.js 
    end 
end 

Спасибо!

+1

Как вы инициирующего вызов действие тележки? –

+0

@japed: Вот как я вызвал действие тележки: redirect_to action: 'cart', controller: 'static_pages', id: cart.id – webster

+0

Где эта линия? –

ответ

1

Я был в состоянии решить эту проблему, добавив следующую строку в мой routes.rb файл:

match 'cart', to: 'static_pages#cart', via: [:get, :post] 
0

Ok,

так это

<%= form_for @article, :remote => true do |f| %> 
<%= f.text_area :name, :class => "form-control" %> 
<% end %>  
<% @art.each do |a| %> 
<%= a.name %> 
<% end %> 

Пойдет на статьи создать метод. Вот почему ваш cart.js.erb не вызывается. Либо установите URL <%= form_for @article, :url => url_for(:controller => 'static_pages, :action => 'cart', :id => @cart.id), :remote => true do |f| %> или предпочтительно обрабатывать его в создании действия контроллера статей

Смежные вопросы