0

私は Rails でささいなことをしようとしている初心者です。現在、いくつかのリンクを作成するアプリを作成しており、クリックされたときに Div のコンテンツを更新したいと考えています。

私のapplication.html.erbには、次の頭を持つレイアウトがあります:

<%= stylesheet_link_tag    "application" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>

(:defaults の 2 行目を変更することについて読んだことがありますが、それを行うと 404 エラー defauls.js が発生します)

これでパーシャルをレンダリングする index.html.erb があります。

<%= render :partial => 'masvisitadas' %>

私の _masvisitadas.html.erb には、リンクを生成するコードがあります。

<%= link_to solution.SolutionName, "/soluciones/despliega/" + solution.Id.to_s, :remote=>true %>

これにより、次の html が生成されます。

http://localhost:3000/soluciones/despliega/501D0000000QWp6IAG

私のコントローラーには、次の定義があります。

def despliega
    respond_to do |format|
        format.js {}
    end
end

最後に、despliega.js.erb を作成しました。

jQuery(function($) {
    var html = "<%= escape_javascript(render('despliega')) %>";
  $("#customTopLeft").prepend(html)
$("customTopLeft").html("<%= escape_javascript(render(:partial => 'despliega')) %>");

});

リンクをクリックしたときのWebサーバーのログでは、すべてうまくいっているようです:

Started GET "/soluciones/despliega/501D0000000QXM0IAO" for 127.0.0.1 at 2012-08-
20 12:16:53 +0200
Processing by SolucionesController#despliega as JS
  Parameters: {"id"=>"501D0000000QXM0IAO"}
  Rendered soluciones/_despliega.html.erb (0.0ms)
  Rendered soluciones/_despliega.html.erb (0.0ms)
  Rendered soluciones/despliega.js.erb (15.6ms)
Completed 200 OK in 31ms (Views: 31.3ms | ActiveRecord: 0.0ms)

そして、firebug では、エラーが発生した呼び出しを確認できますが、何も起こりません。これは私の頭を殺しています:)ここで助けてくれてありがとう。よろしく。

4

1 に答える 1

0

_despliega.html.erb には何がありますか?

despliega.js.erb をこれ (およびこれのみ) に変更してみてください。

$('#customTopLeft').html("<%= escape_javascript(render :partial => 'despliega') %>");

編集-ああ、jQueryライブラリが含まれていることを確認してください..

于 2012-08-20T10:43:30.983 に答える