ruby-on-rails - 在 Rails 中创建媒体相册。新的和编辑的不同形式
问题描述
我的应用程序上有一个名为 Album 的模型,上面可以有多个媒体文件。
这是我的模型:
class Album < ApplicationRecord
belongs_to :user
has_many :photos,dependent: :destroy
has_many :media
accepts_nested_attributes_for :media
class Media < ApplicationRecord
mount_uploader :file_name, MediaUploader
belongs_to :album
end
在我看来,我使用 dropzone 以便用户可以为他的专辑拖放媒体。
这里的问题。创建新专辑时,仍然没有它的 id。因此,当使用 javascript 添加这些媒体时,我得到了一个错误,因为当然,belongs_to :album 坏了,因为我们的应用程序上仍然没有专辑。
所以,我想为相册创建一个视图,当用户创建新相册时,首先它选择一个名称并保存它。然后他可以为这张专辑编辑添加媒体。
问题是,我怎样才能让它尽可能干燥?一种在创建新专辑时仅显示 NAME 属性的表单。然后,保存后,它可以显示Medias拖放区域吗?
解决方案
使用一种形式,只在 if 条件后显示 dropzone
<% if form.object.persisted? %>
推荐阅读
- docker - 将资源从另一个 Dockerfile 复制到 Dockerfile
- tfs - TFS17 on prem 和 fortify 构建
- haskell - 如何使用 Haskell 的 FunPtr?
- javascript - 将 css 应用于 Js 字符串-Js/CSS
- amazon-web-services - 如何在主页上的哈希上过滤 AWS Cloud Watch 日志?
- file - 是否有返回 txt 文件倒数第二行的函数或排列?
- azure - 使用 AzCopy 在 Azure BLOB 容器之间复制文件时出错
- reactjs - 通过代理在开发人员上服务反应项目
- php - 在多维 Stdclass PHP 中搜索
- nginx - DigitalOcean - 除了一页之外,如何将 website.net 流量路由到 website.com?