Rails new / create actions不起作用

时间:2016-06-28 18:03:14

标签: ruby-on-rails ruby

在我的网络应用中,每张专辑都有很多照片,每张照片都属于一张专辑。我已经完成了关联以及新的和创建照片的动作,但我没有收到错误,但是,当我转到相册时,显示新创建的照片没有出现。

查看:

        <% @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

1 个答案:

答案 0 :(得分:0)

因此,似乎没有相册ID就创建了图像。在新的操作中,然后应分配album_id,以便稍后使用@photos = @ album.photos

显示照片

这一行

params.require(:photo).permit(:image)

应包括

params.require(:photo).permit(:image, :album_id)