2008-10-24 28 views
2

我有一个Rails应用程序,已经拿起了一点牵引力,但我有一个严重的头痛来处理。这是一种基本的资产管理应用程序 - 用户可以上传他们的照片,.pdf,视频等,系统允许他们管理资产的呈现方式。AJAX,Rails和动态加载表单

我以一个相当标准的rails视图开始 - 只是由rails生成的 - 用于index.html.erb。我有一个局部呈现缩略图每个资产,是这样的:

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

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

我确实可以访问任何人都可以通过发布者获得的新版“Agile Development on Rails”书籍的预发布版本,但关于AJAX的章节非常少,并且假设这些内容的经验比我多有,这是我第一次进入JavaScript和Rails。

UPDATE:为响应“问题是什么”的回答“,但我认为这是非常明确的:

什么我需要把在缩略图的部分引起它的点击加载编辑表单到div?

回答

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'