我有一个使用不显眼的ajax的网站。
简而言之,流程是:
我希望所有js.erb视图执行类似的“维护活动”,例如在需要时插入flash消息,更新URL等。
我怎样才能干这个?理想情况下,我会使用部分代码来执行每次但我找不到如何执行此操作。
更新1:示例
我的js.erb文件:
$("#challenge_actions").html("<%= escape_javascript(render partial: "challenges/best_practice_button")%>");
$("#flash_messages").html("<div id='flash_notice'><%= escape_javascript(flash[:notice])%></div>");
如何使用flash_messages提取行并将其自动包含在我的所有js.erb文件中?
谢谢!
答案 0 :(得分:3)
您可以使用js布局,就像html布局一样。
<强>布局/ custom.js.erb 强>
alert("<%=j flash[:notice] %>");
<%= yield %>
<强>控制器/ your_controller.rb 强>
def your_action
flash[:notice] = "hello world"
@hello = "hello world"
respond_to do |format|
format.js { render layout: "custom" }
end
end
<强> your_action.js.erb 强>
alert("<%= j @hello %>");
答案 1 :(得分:0)
你也可以在erb中使用部分模板,假设你想用id“container”替换div的内容,然后假设你正在使用jquery你可以做
$('#container').html('<%= escape_javascript(render(:partial => 'mypartial'))%>')