[英]rails partial rendering html does not run javascript
嗨,我正在從控制器文件中調用部分代碼,但是部分代碼中的javascript沒有執行。 部分格式為.html.erb。
<% content_for :javascript do %>
<script type="text/javascript">
var eventName = typeof(Turbolinks) !== 'undefined' ? 'page:change' : 'DOMContentLoaded';
document.addEventListener(eventName, function() {
console.log("hello");
<% if flash[:notice] %>
ShopifyApp.flashNotice("<%= escape_javascript flash[:notice].html_safe %>");
<% end %>
<% if flash[:error] %>
ShopifyApp.flashError("<%= escape_javascript flash[:error].html_safe %>");
<% end %>
});
</script>
<% end %>
是部分代碼
respond_to do |format|
if @timer.save
flash[:notice]="updated"
format.html{render :partial => "layouts/flash_messages", :locals => {:flash => flash}}
else
flash[:error]="error"
format.html{render :partial => "layouts/flash_messages", :locals => {:flash => flash}}
end
是控制器代碼。
如果要在Rails中渲染Javascript,請使用以下方法。
控制器代碼如下:
def create
@user = User.find(params[:id])
respond_to do |format|
format.html {redirect_to @user }
format.js
end
end
模板,此代碼將呈現。
文件名:create.js.erb
$("#someidname").html("<%= @user.email %>");
注意@user在這里也可用。 您也可以渲染其他部分,例如:
$("#someit").html("<%= escape_javascript(render('users/email')) %>");
另外,請確保您正在發送ajax請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.