В моем веб-приложении в каждом альбоме много фотографий, и каждая фотография принадлежит альбому. Я уже делал ассоциации вместе с новыми и создавал действия для фотографий, и я не получаю сообщение об ошибке, однако, когда я перехожу к действиям с альбомами, вновь созданные фотографии не появляются.Rails new/create actions not working
Вид:
<% @photos.each do |x| %>
<div class="new-photo">
<%= image_tag x.image, :style => "height:200px; width:200px; border-radius:5px;" %>
</div>
<% end %>
Альбомы контроллер:
def show
@album = current_user.albums.find(params[:id])
@photos = @album.photos
@interests = current_user.interests
end
Фотографии контроллер:
def new
@photo = current_user.photos.new
end
def create
@photo = current_user.photos.new(photo_params)
if @photo.save
redirect_to '/albums'
else
render '/photos/new'
end
end
private
def photo_params
params.require(:photo).permit(:image)
end
Фото Модель:
class Photo < ActiveRecord::Base
belongs_to :album
belongs_to :user
конец
Альбом модель:
class Album < ActiveRecord::Base
belongs_to :user
has_many :photos
конец
использование 'build' вместо' новый' в твоем действии. [this] (http://stackoverflow.com/questions/4954313/build-vs-new-in-rails-3) может вам помочь. –
По-прежнему получил тот же результат – nums
мог бы вы пройти мимо кода модели? есть ли у вас какие-либо проверки? – Sean