Rails 3.2.1 アプリ (ドキュメントはこちら) に統合された jQuery ファイル アップロード プラグイン (ドキュメントはこちら) を使用して、アプリに写真をアップロードしています。
ユーザーが何もしなくても、選択したすべてのファイルを自動的にアップロードするようにプラグインを設定しました。写真がアップロードされたら (そしてそれに応じて DB にエントリが作成されたら)、ユーザーが各写真のタイトルを入力できるようにしたいと思います。
ただ、アップロードした写真を表示するテンプレートスクリプトで、アップロードした写真ごとに編集フォームを作るのに苦労しています。写真ごとにフォームを作成するのはエレガントとはほど遠いことを私は知っていますが、このコンテキストではそれが唯一の方法のようです (ここで明らかな何かが欠けていない限り?)。
<script id="template-download" type="text/html">
{% for (var i=0, files=o.files, l=files.length, file=files[0]; i<l; file=files[++i]) { %}
<div class="template-download nofade">
{% if (file.error) { %}
{%=file.name%}
<span>{%=fileUploadErrors[file.error] || file.error%}</span>
{% } else { %}
{% if (file.thumbnail_url) { %}
<a href="{%=file.url%}" title="{%=file.name%}" rel="gallery"><img src="{%=file.mini_url%}"></a>
<%= form_for Photo.find(<---- ID SHOULD BE HERE ---->) do |f| %>
<%= f.text_field :title %>
<button class="btn btn-danger btn-small" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}"><i class="icon-white icon-trash"></i> Delete</button>
<%= f.submit %>
<% end %>
{% } %}
{% } %}
</div>
{% } %}
</script>
私は変数を持っています
file.photo_id
関連する写真のIDが含まれていますが、そこからフォームを作成しようとしています
<%= form_for Photo.find("{%= file.photo_id %}") do |f| %>
このエラーのみを返します:
Couldn't find Photo with id={%= file.photo_id %}
Photo.find({%= file.photo_id %}) のようなバリエーションも試しましたが、役に立ちませんでした。
これは特定のプラグインに固有の問題であることはわかっていますが、それでも質問する価値があると思いました。写真 ID を渡す方法を知っている人、またはこの問題をよりエレガントな方法で解決する方法のヒントを知っている人はいますか?