0

私のアプリケーション レイアウトには、ナビゲーション div と、パーシャルとして構築されたコンテンツ div が含まれています。ajax を使用して、ユーザーがナビゲーション div のリンクをクリックするたびに、そのページのコンテンツが更新せずにコンテンツ div にレンダリングされるようにしたいと考えています。これを適切に行う方法について混乱しています...レール初心者の助けはありますか??? よろしくお願いします〜

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

ホーム.rjs

page.replace_html :container, :partial => 'layouts/content'
4

2 に答える 2

0

「home.rjs」の名前を「home.js.rjs」に変更してみてください。それ以外はすべて正しいように見えます。どのようなエラーが発生していますか?

于 2011-01-01T17:48:05.447 に答える
0

試す:

pages_controller.rb

def home
  @title = "Home"
  respond_to do |format|
    format.js {
      render(:update) do |page|
        page.replace 'content', :partial => 'layouts/content'      
      end
    }
  end
end 

追加の rjs ファイルは必要ありません。また、参考までに、@title を DB に保存する場合は、respond_to の前に @title.reload を実行して最新のデータを取得する必要があります。上記のfirebugに関するコメントは役に立ちます。

于 2012-03-01T23:17:13.913 に答える