2

我有一个 Rails 应用程序,它获得了一些牵引力,但我有一个严重的头痛要处理。这是一种基本的资产管理器应用程序——用户上传他们的照片、.pdf、视频等,系统允许他们管理资产的呈现方式。

我从一个相当标准的 rails 视图开始 - 正是 rails 生成的内容 - 用于 index.html.erb。我有一个为每个资产呈现缩略图的部分内容,如下所示:

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

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

我确实可以访问新的“Agile Development on Rails”一书的预出版版本,任何人都可以通过出版商获得,但是关于 AJAX 的章节非常少,并且假设在这些方面的经验比我拥有的更多,这是我第一次涉足 javascript 和 rails。

更新:针对“问题是什么”的“答案”,尽管我认为这很清楚:

我需要在缩略图的部分中添加什么内容才能单击它以将编辑表单加载到 div 中?

4

1 回答 1

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”

于 2008-10-24T17:39:44.410 回答