0

私のservicios中に名前が付けられたstatic_pagesビューがあります。このビューの左側にはメニューがあり、右側をクリックするとさまざまなサービスの説明が読み込まれます。divすでにAJAX呼び出しを行っていますが、読み込まれたコンテンツをページに配置する方法がありません。 。

app / views / static_pages / servicios.html.erb

<%= provide(:title,'Servicios') %>
<% provide(:navbar,'serviciosnav') %>
<h1>Servicios</h1>
<div class="row">
    <div class="servicelist">
    <div class="navbar span4">
        <div class="navbar-inner">
            <ul class="nav" style="padding: 0">
            <% @servicios.each do |serv| %>
                <li><%= link_to serv.name,  "servicios/load?id="+serv.id.to_s, remote: true  %></li>
            <% end %>
            </ul>
        </div>
    </div>
    </div>
    <div id="servicedesc" class="span8">
        <%= render partial: "servicios/load", locals: {assets: @serv = @servicios.first} %>
    </div>
</div>
<script>
</script>

app / controllers / servicios_controller.erb

class ServiciosController < ApplicationController
  respond_to :html, :js

  def load
    @serv = Servicio.first
    if !params[:id].nil?
        @serv = Servicio.find(params[:id])
    end
    respond_with(@serv) do |format|
      format.html { render partial: "servicios/load"}
    end
  end
end

これは、サーバーに対して行われたGETリクエストによる応答です。

GET http://localhost:3000/servicios/load?id=5

304 Not Modified
        63ms    
jquery.js?body=1 (line 8435)
ParamsHeadersResponseCookies

<h2>Promoción de Inversiones</h2>
<ul>
        <li>Captación de Inversionistas en Mercados Externos.</li>
        <li>Promoción de Proyectos Industriales, Empresariales e Inmobiliarios.</li>
        <li>Intermediación en la compra ó venta de Empresas.</li>
</ul>

div#servicedescメニューから何かを選択するたびに更新するにはどうすればよいですか。私はインターネット(API、フォーラム、ここ)全体を読んでいますが、それらはすべて混乱していて散らかっています

4

1 に答える 1

0

jQueryにはload()と呼ばれる気の利いた関数があります。

このjQueryコードの行を使用すると、divは、そのコントローラーから戻ってきたものを非同期でロードして表示します。

$('.navbar').on('click', function(){
  $('#servicedesc').load('servicios/load?id=5');
});
于 2013-01-20T12:31:34.557 に答える