Jquery Rails 3.1 javascript文件使用
我有一个rails 3.1应用程序,可以创建邮件爆炸。我有一个所有爆炸的列表,其中包含一个邮件链接,用于发送特定爆炸(使用ajax)。我想在blasts控制器中使用一个自定义操作。当我点击链接时,它想调用show.js.coffee而不是mail.js.coffee for ex。我如何强制它使用我创建的操作。当我把所有东西都放在控制器的show动作和show.js.coffee中,而不是mail动作和mail.js.coffee等中时,所有东西都能工作 这是我的爱好Jquery Rails 3.1 javascript文件使用,jquery,ruby-on-rails-3.1,coffeescript,Jquery,Ruby On Rails 3.1,Coffeescript,我有一个rails 3.1应用程序,可以创建邮件爆炸。我有一个所有爆炸的列表,其中包含一个邮件链接,用于发送特定爆炸(使用ajax)。我想在blasts控制器中使用一个自定义操作。当我点击链接时,它想调用show.js.coffee而不是mail.js.coffee for ex。我如何强制它使用我创建的操作。当我把所有东西都放在控制器的show动作和show.js.coffee中,而不是mail动作和mail.js.coffee等中时,所有东西都能工作 这是我的爱好 <td><
<td><% if can? :create, Blast%><%= link_to "Mail",blast,:action => :mail :confirm => "Are you sure?",:remote => true%><%end%></td>
这在我的mail.js.coffee文件中
<% @mailcustomers.each do |f|%>
<% BlastMailer.mail_blast(f,@blast).deliver %>
<%end%>
(Edit:在我最初的回答中,我对在.js.coffee
文件中使用ERB表示犹豫。但进一步调查发现,Rails 3.1允许在特殊情况下使用ERB,即js响应:remote=>true
表单操作。)
我认为你的问题在于
:action => :mail :confirm => "Are you sure?"
试着在
:mail
后面加个逗号。我知道我需要做什么了。这是行的
<td>
<% if can? :create, Blast%>
<%= link_to "Mail", {:action => :mail, :id=>blast.id}, :method => :post,:confirm => "Are you sure?",:remote => true%>
<%end%>
</td>
:mail,:id=>blast.id},:method=>:post,:confirm=>“确定吗?”,:remote=>true%>
Rails解释js.coffee文件中的ruby代码。雇员再培训局不再需要延期。我知道我需要做什么。这是行得通的mail,:id=>blast.id},:method=>:post,:confirm=>“你确定吗?”,:remote=>true%>正如你所看到的,我使用上面评论中的行修复了它
:action => :mail :confirm => "Are you sure?"
<td>
<% if can? :create, Blast%>
<%= link_to "Mail", {:action => :mail, :id=>blast.id}, :method => :post,:confirm => "Are you sure?",:remote => true%>
<%end%>
</td>