當用戶轉到我的站點時,我想呈現index.html.haml以及index.js.haml。 (我試圖讓我的JS脫離視圖。)Rails:在一個請求中呈現html和js
目前,它只是呈現html。用html和js添加一個respond_to
塊只是呈現html。
我該怎麼做?有沒有更好的辦法?我不想將JS包含在/ assets/js中,因爲ruby是在JS中執行的。
當用戶轉到我的站點時,我想呈現index.html.haml以及index.js.haml。 (我試圖讓我的JS脫離視圖。)Rails:在一個請求中呈現html和js
目前,它只是呈現html。用html和js添加一個respond_to
塊只是呈現html。
我該怎麼做?有沒有更好的辦法?我不想將JS包含在/ assets/js中,因爲ruby是在JS中執行的。
一個rails控制器動作一次只能響應一個HTTP請求,即使它可以響應多個JS請求從HTML請求的初始請求(所以這是一個單獨的請求)。
如果你想保持你的Javascript在另一個文件中的清晰度,你可以創建一個部分,並以這種方式加載它。
在該響應與@my_var控制器動作傳遞給所述部分(./views/mycontroller/my_action.html.erb)的視圖:
<%= render 'my_action_js', :my_var => @my_var %>
和部分(./views/mycontroller /_my_action_js.html.erb)
<script type="text/javascript">
alert(<%= my_var %>);
</script>
javascript是不是呈現btw(只是單挑)。渲染向用戶顯示內容。 – thejartender