有點新的Rails的東西,在一點點。在Rails 4中保存嵌套模型
其中一個模型的處於的has_many/belongs_to的關聯取決於其他。
基本上,我的應用程序中創建一個「郵報」時,用戶可以還附上「圖像」。理想情況下,這是兩個獨立的模型。當用戶選擇一張照片時,一些JavaScript會將其上傳到Cloudinary,並將返回的數據(ID,寬度,高度等)JSON字符串化並設置在隱藏字段中。
# The HTML
= f.hidden_field :images, :multiple => true, :class => "image-data"
# Set our image data on the hidden field to be parsed by the server
$(".image-data").val JSON.stringify(images)
和當然,這種關係在我的崗位模型
has_many :images, :dependent => :destroy
accepts_nested_attributes_for :images
和我的形象模型存在
belongs_to :post
在哪裏我迷路是做什麼用的序列化的圖像數據做在Post控件的創建方法上?簡單地解析JSON並保存它不會在保存創建與數據的圖像模式(和感覺不對):
params[:post][:images] = JSON.parse(params[:post][:images])
的這一切基本的高潮,以類似下面的參數:
{"post": {"title": "", "content": "", ..., "images": [{ "public_id": "", "bytes": 12345, "format": "jpg"}, { ..another image ... }]}}
這整個過程似乎有點令人費解 - 什麼我現在做的,有沒有更好的辦法做我想在第一時間做什麼? (同樣是這樣的嵌套屬性,需要有強有力的參數......?)
編輯:
在這一點上,我得到這個錯誤:
Image(#91891690) expected, got ActionController::Parameters(#83350730)
從這一行來了...
@post = current_user.reviews.new(post_params)
好像它沒有創造從嵌套屬性的圖像,但它的預期。 (同樣的事情發生時:自動保存是否存在)。
我有完全相同的問題 – nduplessis
MB可以幫助http://stackoverflow.com/questions/10878930/got-activerecordassociationtypemismatch-on-model-save – user2915517