我正在構建一個Web應用程序,它具有UI分爲兩部分的菜單欄和一個內容區域。 菜單欄中列出了用戶編寫的所有博客的標題。點擊標題時,內容區域應該更改爲顯示該博客的帖子。Rails:點擊部分分區
1)所以,我的菜單欄上,我有:
而在我的內容區域,我有:
<div id="contenthere"></div>
2)因此,通過我的理解,這應該引起博客控制器的展示方法。在那裏,我的方法如下:
@blog = Blog.find(params[:id])
respond_to do |format|
format.js { render :show_blog }
end
3)哪些應該去尋找一個名爲show_blog.js.erb的意見/博客文件夾文件:
$("#contenthere").html("<%=escape_javascript(render :partial=>"show_blog")%>");
這將需要我div,並在此處顯示_show_blog.html.erb部分(位於博客視圖文件夾中),博客參數等於在我的博客控制器中設置的@blog參數。
4)所以,我型我秀博客偏有這樣的代碼:
<%[email protected] %>
<%[email protected]_id %>
編輯:其實,我四處搜尋,發現了,我不能在資產中使用的方法「渲染」從文件夾 - - 那我把js.erb放在哪裏?我已將它移動到博客視圖文件夾,主視圖文件夾(index.html.erb),並只是/ view /文件夾...錯誤消失了,但鏈接不工作...
編輯:把show_blog.js.erb放入我的views/blogs文件夾中,因爲這是博客控制器調用它。當我點擊鏈接並沒有在控制檯中顯示JS錯誤時沒有任何事情發生。 js是否被稱爲?
編輯:改變以反映我的最終答案。
你試過:'$(「# (...)「(%);(」<%= render('show_blog',:blog => @ blog)%>「);'移除'j(...)' – claptimes
您應該使用'escape_javascript(render ..) '而不是'j(render ...)' 知道錯誤是來自渲染部分還是來自控制器也是有價值的。嘗試'render'show_blog''(如果它在與控制器名稱相同的目錄中)而不是使用符號 – user2261892
實際上,我發現這是因爲無法從資產文件夾調用渲染......哪個文件夾我將show_blog.js.erb文件移動到? – ays0110