質問

私はRailsアプリを持っていますが、これはちょっとした牽引力になっていますが、対処するのが大変な頭痛の種です。これは基本的なアセットマネージャーアプリケーションです。ユーザーは写真、.pdf、ビデオなどをアップロードし、システムはそのアセットの表示方法を管理できます。

index.html.erbのかなり標準的なRailsビュー-Railsによって生成されるもの-から始めました。各アセットのサムネイルと次のようなものをレンダリングするパーシャルがあります:

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

サムネイルがクリックできるようにする(簡単)が、ユーザーがそのボタンを押すと、divのコンテンツが基本的にedit.html.erbでいっぱいになりますが、私は推測しています部分的に行う必要があります。私はすでにストレートjavascriptでこれを管理しています。

私は誰もが出版社を通じて入手できる新しい「アジャイル開発オンレール」本の出版前のバージョンにアクセスできますが、AJAXの章は非常に最小限であり、私が持っているよりもこれらのことに関するより多くの経験を想定しています、これはjavascriptとrailsへの最初の進出です。

更新:「質問とは何ですか」に対する応答として「答え」、それはかなり明確だと思ったが:

サムネイルのパーシャルをクリックすると、編集フォームがdivに読み込まれるようになります。

役に立ちましたか?

解決

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」であることを確認してください

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top