私のアプリケーションレイアウトには、ナビゲーションdivと、部分として構築されたコンテンツdivが含まれています。私はajaxを使いたいので、ある人がナビゲーションdiv内のリンクをクリックするたびに、そのページの内容が更新せずにcontent divにレンダリングされるようにします。私はこれを正しく行うには混乱しています...レールのnoobのための任意のヘルプ???事前のおかげで〜link_to_remoteにrjsを使用すると混乱する
application.html.erb
<body>
<div id="container">
<%= render 'layouts/header' %>
<%= render 'layouts/content'%>
<%= render 'layouts/footer' %>
</div>
</body>
_header.html.erb
<%= link_to_remote "Home", :url => { :controller => "pages", :action => "home" } %>
_content.html.erb
<div id="content">
<%= yield %>
</div>
pages_controller.rb
def home
@title = "Home"
respond_to do |format|
format.js
end
end
home.rjs
page.replace_html :container, :partial => 'layouts/content'
FYI: 'link_to_remote'はこれを行う2つの方法です。 Rails 3では 'link_to ...、:remote => true'が使われています。あなたの問題について:FirefoxのFirebugプラグインを使用し、コンソールを起動します。ここでAjaxリクエストを追跡できます。コントローラー側にエラーがある場合、それは応答に含まれます。 – crispy
これは非常に参考になりました。私は今日これを見つけようとしていました。 –