Estoy tratando de obtener un link_to para mostrar un parcial a través de jquery ajax, pero parece que no funciona (edit: return blank screen) e I ' No estoy seguro de lo que me estoy perdiendo. Cualquier ayuda sería apreciada.Rails 3 - link_to to call partial using jquery ajax
me gustaría hacer clic en el enlace "Vista previa Widget" y tienen que mostrar _widget.html.erb en el div vista previa.
Desde mi entender el enlace "Vista previa de widgets" debe llamar a la acción def preview_widget que exige preview_widget.js.erb que a su vez hace que el parcial _widget.html.erb en el div.
EDIT: enlace de actualizaciones de acuerdo con las sugerencias Ignacio Reza
show.html.erb
<%= link_to "Preview Widget", :action => 'preview_widget' , :id => @widget.id, :remote => true %> %>
<div id="preview"></div>
widget_controller.rb
def preview_widget
respond_to do | format |
format.js {render :layout => false}
end
end
preview_widget.js. er b
$("#preview").html("<%= escape_javascript(render(:partial => "widget", :locals => { :widget => @widget})) %>");
_widget.html.erb
<% @widget.videos.each do |video| %>
<h3><a href='#'><%= video.name %></a></h3>
<div>
<object height='316' width='540'>
<embed style='border: 1px solid #333333;' height='316' width='540' allowfullscreen='true' allowscriptaccess='always' type='application/x-shockwave-flash' src='<%= video.url %>'>
</object>
</div>
<% end %>
routes.rb
match 'preview_widget' => 'widgets#preview_widget'
Gracias. He agregado el: remote => verdadero al código y fijo widget-link-#{@widget.id}. El enlace ahora es "http: // localhost: 3000/preview_widget? Id = 1 & remote = true" cuando hago clic en él obtengo una página en blanco? – pagetribe
¿Qué versión de rieles usaste? supongo que usaste 3. * cuando sugiero agregar ": remote => true" ... como comenzando en 3.0, Rails usó el enfoque javascipt discreto para manejar todas las características relacionadas con Javascript ... si estás usando 2. *. . luego necesita cambiar link_to a remote_link_to, y opcionalmente eliminar el ": remote => true" .. –