小编t s*_*t s的帖子

ActiveRecord :: StatementInvalid PG :: UndefinedColumn:ERROR

我正在使用rails_admin进行管理面板.只需更改图像模型中的关联

由此

class Image < ApplicationRecord
   belongs_to :user 
   belongs_to :product 
end
Run Code Online (Sandbox Code Playgroud)

对此

class Image < ApplicationRecord
   has_one :user 
   has_one :product 
end
Run Code Online (Sandbox Code Playgroud)

和用户模型是

class User < ApplicationRecord
   has_many :images,dependent: :destroy
end
Run Code Online (Sandbox Code Playgroud)

当我尝试从管理面板编辑用户时出现此错误.从另一方面它工作正常.

ActiveRecord::StatementInvalid at /user/72/edit

PG::UndefinedColumn: ERROR:  column users.image_id does not exist
LINE 1: SELECT  "users".* FROM "users" WHERE "users"."image_id" = $1...
                                         ^
: SELECT  "users".* FROM "users" WHERE "users"."image_id" = $1 LIMIT $2
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-admin rails-activerecord ruby-on-rails-5

6
推荐指数
1
解决办法
1725
查看次数

显示带有表单错误的活动存储验证错误

我使用的rails 5.2,bootstrap-4,bootstrap_formactive-storage文件被成功上传.我想要的是当我在表格中输入公司名称然后它应该检查company_logo.

我尝试使用它,当我在表单中包含错误循环时它工作正常在这里视图

- if @company.errors.any?
  #error_explanation
    %ul
      - @company.errors.full_messages.each do |message|
        %li= message
Run Code Online (Sandbox Code Playgroud)

型号代码

has_one_attached :company_logo
validates :name, :company_logo,presence: true
after_validation :is_logo?, if: Proc.new { |a| a.name? }


def is_logo?
      errors.add(:base, 'Please upload your company logo.') if !self.company_logo.attached?
end
Run Code Online (Sandbox Code Playgroud)

我想用文件字段进行这种验证 我想用文件字段进行这种验证

ruby-on-rails rails-activestorage ruby-on-rails-5.2

5
推荐指数
1
解决办法
2096
查看次数

如何使用 rails 中的 URL 从 URL 下载图像并将其保存到本地磁盘(计算机)?

我有一个表单来添加图像 url表单,如果用户添加图像 url 我想下载图像并保存到本地磁盘(主页/文档/图像)

我创建图像模型和控制器..

需要帮助请

在图像模型中

class Image < ApplicationRecord

    has_one_attached :image
    require 'open-uri'
    image = open('http://example.com/image.png')
    IO.copy_stream(image, '~/home/Documents/Images/local_image.png')

end
Run Code Online (Sandbox Code Playgroud)

在图像控制器中

class ImagesController < ApplicationController 

    def index
      @image = Image.new
    end

end
Run Code Online (Sandbox Code Playgroud)

在图像/index.html.erb

<%= form_for(@image, url: images_path) do |f| %>
  <%= f.text_field :image_url %>
  <%=f.submit%>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但得到错误

OpenURI::HTTPError in ImagesController#index 404 not found
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

5
推荐指数
0
解决办法
2516
查看次数