AJAX,Rails和动态加载表单

时间:2008-10-24 16:48:50

标签: javascript ruby-on-rails ajax views partials

我有一个铁轨应用程序,已经有点牵引力,但我有一个严重的头痛要处理。这是一种基本的资产管理应用程序 - 用户上传他们的照片,.pdfs,视频等,系统允许他们管理资产的呈现方式。

我从一个相当标准的rails视图开始 - 这是由rails生成的 - 对于index.html.erb。我有一部分为每个资产渲染一个缩略图,如下所示:

<div id="preview">  </div>

我想要的是缩略图是可点击的(很容易)但是当用户点击该按钮时,div的内容将被填充,好吧,基本上是edit.html.erb,但我猜它需要作为一个部分完成。我已经用直接的javascript管理了这个。

我确实可以访问新版“Agile Development on Rails”一书的出版前版本,任何人都可以通过该出版社获得该版本,但有关AJAX的章节非常少,并且假定我拥有的这些内容比我拥有的更多。 ,这是我第一次涉足javascript和rails。

更新:回答“问题是什么”“回答”,虽然我认为很清楚:

我需要在缩略图的部分内容中点击它来将编辑表单加载到div中?

1 个答案:

答案 0 :(得分:6)

你需要使用link_to_remote:

<%=    link_to_remote image_tag('whatever.jpg'), 
       {:controller => 'something', :action => 'replace_thumbnail', :id => @thumbnail.id}, 
       :update => 'preview' %>

在控制器中你应该采取这个行动:

def replace_thumbnail
  image = Image.find(params[:id])
  render :partial => 'edit', :object => image, :layout => false
end

确保您的部分名为'_edit.html.erb'