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