Recipe モデルと RecipePhoto モデルがあります。新規レシピ作成時に縮小画像のサムネイルを表示したい。jquery-file-upload で写真をアップロードします。問題は、アップロードされた写真のIDを取得する方法がわからないことです。
例:
ユーザーが新しいレシピを作成しています。彼は写真をロードしてサーバー上でトリミングし、レシピを送信する前にサムネイル プレビューを表示します。
レシピ_コントローラー.rb
def new
@recipe = Recipe.new
@recipe_photo = RecipePhoto.new
end
レシピ/new.html.slim
= simple_form_for @recipe, :html => {:class => 'add-recipe-form'} do |recipe|
.form-inputs
= recipe.input :title
.form-actions
= recipe.submit "Create recipe"
= form_for @recipe_photo do |f|
.form-inputs
= f.label :image, "Upload paintings:"
= f.file_field :image, multiple: false
Recipe_photo.js.coffee (ここでは、record_id ではなく、ファイル名のみを取得できます)
$ ->
$('.new_recipe_photo').fileupload
dataType: "script"
done: (e, data) ->
console.log data.files[0], data.files[0].name
レシピ_写真.rb
class RecipePhoto < ActiveRecord::Base
attr_accessible :recipe_id, :image
belongs_to :recipe
mount_uploader :image, RecipeImageUploader
end