gpt4 book ai didi

ruby-on-rails - CarrierWave 文件上传在 rails 中不起作用

转载 作者:数据小太阳 更新时间:2023-10-29 07:16:56 25 4
gpt4 key购买 nike

我需要将图像上传到我的电影收藏应用程序我用载波来做这个(follows the railscasts steps)

第 1 步我将 gem 'carrierwave', '~> 0.9' 添加到我的 Gemfile 然后运行 ​​bundle第 2 步 rails g uploader image 然后 rails g scaffold filmes name moviestype after rake db第 3 步 rails g migration add_image_to_filmes image:string 然后 rake db

其他步骤同railscasts

在我的电影模式中

attr_accessible :name, :moviestype, :image
mount_uploader :image, ImageUploader

在我的 _form.html.erb 中

<%= form_for @filme, :html => {:multipart => true} do |f| %>
<% if @filme.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@filme.errors.count, "error") %> prohibited this filme from being saved:</h2>

<ul>
<% @filme.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>

<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :moviestype %><br>
<%= f.text_field :moviestype %>
</div>
<div class="field">
<br>
<%= f.file_field :image %>
</div>

<div class="actions">
<%= f.submit %>
</div>
<% end %>

在 show.html.erb 中

<p id="notice"><%= notice %></p>

<p>
<strong>Name:</strong>
<%= @filme.name %>
</p>

<p>
<strong>Moviestype:</strong>
<%= @filme.moviestype %>
</p>
<%= image_tag @filme.image_url(:thumb) if @filme.image? %>

<%= link_to 'Edit', edit_filme_path(@filme) %> |
<%= link_to 'Back', filmes_path %>

问题是它没有上传任何图像,但电影名称和其他字段正在插入到 db。我该如何解决这个问题?需要快速帮助。

最佳答案

根据错误日志,您不允许将 image 保存在数据库中。在您的 FilmesController 中,您需要允许 :image as

def filme_params
params.require(:filme).permit(:name, :moviestype, :image) ## Add :image attribute
end

关于ruby-on-rails - CarrierWave 文件上传在 rails 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22939136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com