У меня есть фотографии формы внутри сообщений/_form.html.hamlСоздание модели с новой родительской модели parent_id
выглядит так:
.row
.large-9.large-centered.columns
= simple_nested_form_for @post do |f|
= f.input :title, label: "Title"
= f.input :body, label: "Body", input_html: { rows: 15}
/= link_to_add_fields "Add image", f, :photos
= f.submit "Mentés", class: "button"
- if user_signed_in?
= simple_form_for @post.photos.new do |f|
%h3
Image upload
%i.fi-upload
= f.input :image, input_html: { multiple: true, name: "photo[image]"}, label: false
= f.input :post_id, val: @post.id, as: :hidden
На действия редактирования, все фотографии будут сохранены с правильный post_id. Но при создании действия, когда Post.new создается, у него нет идентификатора раньше, поэтому на фотографиях не появляется post_id.
Как-то это можно исправить? Возможно, удалите эту строку:
= f.input :post_id, val: @post.id, as: :hidden
и сменить контроллер, чтобы передать идентификатор.
сообщений контроллера создать действие:
def create
@post = Post.new(post_params)
respond_to do |format|
if @post.save
format.html { redirect_to @post, notice: 'Post was successfully created.' }
format.json { render action: 'show', status: :created, location: @post }
else
format.html { render action: 'new' }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
end
end