Использование JavaScript-файла в Rails 3.1 - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть приложение rails 3.1, где я могу создавать почтовые сообщения.У меня есть список всех моих бластов со ссылкой на почту для отправки определенного бласта (используя ajax).У меня есть пользовательское действие в контроллере Blasts, которое я хочу использовать.Когда я нажимаю на ссылку, он хочет вызвать show.js.coffee вместо mail.js.coffee для ex.как заставить его использовать действие, которое я создал.Все работает, когда я помещаю все в действие show моего контроллера и show.js.coffee, но не в действие mail, mail.js.coffee и т. Д.1005 * Это метод в контроллере

def mail
  @customers = Customer.all
  @mailcustomers = Customer.where(:opted_out => false)
  @blast = Blast.find(params[:id])
end

Это в моем файле mail.js.coffee

 <% @mailcustomers.each do |f|%>
   <% BlastMailer.mail_blast(f,@blast).deliver %>
 <%end%>

В маршрутах.rb

resources :blasts do
  collection {  post :mail  }
end

Ответы [ 2 ]

0 голосов
/ 08 июля 2012

Я понял, что мне нужно сделать.Это линия, которая работала.

<td>
  <% if can? :create, Blast%>
    <%= link_to "Mail", {:action => :mail, :id=>blast.id}, :method => :post,:confirm => "Are you sure?",:remote => true%>
  <%end%>
</td>
0 голосов
/ 14 ноября 2011

( Edit: В своем первоначальном ответе я отказался от использования ERB в файле .js.coffee. Но при дальнейшем исследовании выясняется, что Rails 3.1 позволяет это в особом случае, когдаJS обслуживается в ответ на :remote => true действие формы.)

Я думаю, что ваша проблема в

:action => :mail  :confirm => "Are you sure?"

Попробуйте поставить запятую после :mail.

...