我熟悉
之类的代码Video.create(title: 'title')
如果您添加到其中,则可以在输入条目时添加更多值
Video.create(title: 'title', value: 'value')
我试图弄清楚如何用'carrierwave'宝石完成此操作,但是由于表单是自动生成的,因此我不确定如何调整它。例如,假设列存在,我如何添加将添加到“视频”表中的“值”值。
_form.html.erb
<%= form_for(@video) do |f| %>
<% if @video.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@video.errors.count, "error") %> prohibited this video from being saved:</h2>
<ul>
<% @video.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :title %><br>
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :file %><br>
<%= f.file_field :file %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
new.html.erb
<h1>New Video</h1>
<%= render 'form' %>
<%= link_to 'Back', videos_path %>
视频控制器
def new
@video = Video.new
end
def create
@video = Video.new(video_params)
respond_to do |format|
if @video.save
format.html { redirect_to @video, notice: 'Video was successfully created.' }
format.json { render :show, status: :created, location: @video }
else
format.html { render :new }
format.json { render json: @video.errors, status: :unprocessable_entity }
end
end
end
答案 0 :(得分:0)
您要将上传的视频存储在value
字段中,对吗?
在这种情况下,您可以使用value
作为文件字段的名称。另外,请确保您已按如下所示安装了上载器:
mount_uploader :value, VideoUploader
其中VideoUploader是上传者的名称。