簡體   English   中英

Rails 3.2 .js.erb呈現但從不觸發

[英]Rails 3.2 .js.erb renders but never fires

我有一個非常令人困惑的問題。 我之前已經做過此事,但無法弄清楚為什么在這種情況下不起作用,並且我感謝任何可能有任何想法從哪里開始尋找東西的人。

# app/views/petitions/new
<%= form_for @petition, :remote => true do |form| %>
  <%= form.submit "Submit", :class => "primary" %>
<% end %>


# app/controllers/petitions_controller       
def create
  # I've stripped everything out of here to isolate the issue
end

# app/views/petitions/create.js.erb
alert("Hello World");

# log
Started POST "/petitions" for 127.0.0.1 at 2012-02-02 23:07:43 -0500
Processing by PetitionsController#create as JS
Parameters: {"utf8"=>"✓", "authenticity_token"=>"bWXmagSz0hVqhQ1/1U480kQUYcIhmSEbNMAofWYT2Oc=", "petition"=>{"name"=>"", "email"=>"", "location"=>""}, "commit"=>"Submit"}
  Rendered petitions/create.js.erb (0.0ms)
  User Load (0.3ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
  SQL (0.6ms)  UPDATE `users` SET `last_activity_at` = '2012-02-03 04:07:43' WHERE `users`.`id` = 1
Completed 200 OK in 5ms (Views: 2.5ms | ActiveRecord: 0.9ms)

即使日志顯示“ Rendered petitions/create.js.erb (0.0ms) ”,“ alert()”也不會觸發,也不會放入.js.erb視圖。 我之前在其他(非3.2)項目中已經做到這一點,所以我堅信我正在做一些愚蠢的事情,或者這里發生了一些偷偷摸摸的事情。


更新 -Firebug似乎在告訴我,我收到的內容類型為“文本/ html”,而不是“文本/ javascript”。 我仍然不確定為什么會這樣,或者從哪里開始尋找原因,我們將不勝感激。

您應該在PetitionsController的頂部具有以下行:

respond_to :js, :only => :create

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM