在我的网络应用中,每张专辑都有很多照片,每张照片都属于一张专辑。我已经完成了关联以及新的和创建照片的动作,但我没有收到错误,但是,当我转到相册时,显示新创建的照片没有出现。
查看:
<% @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
端
答案 0 :(得分:0)
因此,似乎没有相册ID就创建了图像。在新的操作中,然后应分配album_id,以便稍后使用@photos = @ album.photos
显示照片这一行
params.require(:photo).permit(:image)
应包括
params.require(:photo).permit(:image, :album_id)