[英]rails 4 js.erb file with block: rest of erb code is ignored
我正在開發一個非常簡單的類似RoR4論壇的應用程序。 這是用於創建新論壇的forums_controller.rb動作:
def create
@new_forum = Forum.new(forum_params)
if @new_forum.save
respond_to do |format|
format.html { redirect_to forums_path }
format.js
end
else
respond_to do |format|
format.html { render 'new' }
format.js { render partial: 'form_errors' }
end
end
end
那里沒有魔術。 創建js.erb如下所示:
<%= add_gritter("This is a notification just for you!") %>
<%= broadcast "/forums/new" do %>
$('#forum_form').remove();
$('#new_forum_link').show();
$('#forums_table').append('<%= j render @new_forum %>')
<% end %>
一切實際上都正常。 您可以看到的廣播塊調用使用Faye廣播管理界面更改的javascript。
我擔心的是,js.erb文件中的塊之外的任何內容(即add_gritter調用)都將被完全忽略。 我確定這不是一個麻煩的問題,因為更改該行以生成簡單的alert('hi'); 什么也沒做。 但是,如果調用在塊內移動,則會執行該命令(令人討厭的效果是每個客戶端都會收到通知,警報或其他內容)。 我真的沒有這個主意,希望能對您有所幫助。
<%= broadcast "/forums/new" do %>
正在將執行結果作為javascript(那個HTTOK)吐痰,讓它繼續前進。 所以應該
<% broadcast "/forums/new" do %>
請注意缺少=。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.