zoukankan      html  css  js  c++  java
  • 问题记录:

     ✅, 如何移除simple_form

    1. rails destroy install:simple_form
    2. 去掉gemfile中的gem 'simple_form'
    3. bundle 
    会在第一步自动删除:
          remove  config/initializers/simple_form.rb
          remove  config/locales/simple_form.en.yml
          remove  lib/templates/slim/scaffold/_form.html.slim

    ⚠️,如果使用了80template则还会出现问题。 


    (已经解决)导航栏,部分项目不能靠右排列。


    在<div class="navbar-nav">中添加 mr-auto,或者flex-grow-1可以把兄弟<div>挤压到边上。

    • mr-auto改变margin
    • flex-grow-1改变padding-right



    ✅(已经解决) devise 默认的是html.erb格式。以下是改变方法:

    https://github.com/plataformatec/devise/wiki/How-To:-Create-Haml-and-Slim-Views 

    另外devise不符合国内的使用。国内多用手机登陆。


    ✅ 备注:method不要写成mehtod,否则会报告❌ 


    ✅如何使用render渲染 namespace中product 

    这不是一个问题,同一个controller,直接render就行。在_form中,参数是[:admin, @product] 



    ✅ (已解决,改用form_with) 

    使用 active_storage储存图片: 不会使用has_many_attached :avatar上传多个文件。

    simple_form不会使用,下面的语句不能正确生产choose files

    ❌= f.input :images, :multiple => true 

    我改用form_for:  ✅ok了。

      div.form-group
        = f.label :images
        = f.file_field :images, multiple: true, class:"form-control"

    就会在view中显示一个按键:choose files,⚠️是files, 这样就可以上传多个文件了。✌️。


    ✅ (已解决)如何使用namespaced routes,像admin_post_url。

    = form_with(model: [:admin, @post]) do |form|

     ... 


    deise:提示信息无法更新成中文。并说translate missing: 

    包括: 登陆,退出,等。。。 

    使用了simple_form, 具体如何修改,如中文显示,还没有看。


    起点: 

    假设@post有一个image

    file_field(:image, accept: 'image/png,image/gif,image/jpeg')

     :accept - If set to one or multiple mime-types, the user will be suggested a filter when choosing a file. You still need to set up model validations.

    ✅ 已解决 。

    问题:如何设置validations。验证上传文件的格式。自定义?

     使用“how to validate uploaded file type in rails 5.2”进行google search

    1. 得到2018年的搜索记录。看第一条。
    2.  看相关的网页:
    https://stackoverflow.com/questions/48158770/activestorage-file-attachment-validation

    https://github.com/rails/rails/issues/31656 (还没有看。)

    在product.rb中

      validate :must_type 

      def must_type
        if avatar.attached?
          if avatar.blob.byte_size > 10
            avatar.purge
            errors[:base] << '文件太大,请选择小于10mb的文件。'
          elsif !avatar.blob.content_type.match(/^image//)
            avatar.purge
            errors[:base] << '非法文件格式,只支持图片格式。'
          end
        end
      end

    ✅已解决。问题:如果对product进行edit,第一次点击更新按钮出现errors,第二次如果正确更新,会在index页面出现之前的flash❌提示。 

    def update

    ...

        if @product.update(products_params)
          redirect_to admin_products_path
        else
          flash.now[:warning] = @product.errors.full_messages
          render :edit

    使用flash.now即可。



    ✅已解决,方法:brew upgrade imagemagic . imagemagick的版本旧了,需要更新为最新的。 

    不清楚,为什么使用 image.variant(resize: "400x400")出错 

    link_to image_tag(image.variant(resize: "400x400")), rails_blob_path(image, disposition:"attachment")


    ⚠️搁置,因为不会影响其他功能。 

    问题:提交出现错误提示,本应当渲染render :new,url却返回到了products.奇怪。 

      def create
        @product = Product.new(products_params)
        if @product.save
          redirect_to admin_products_path
        else
          flash[:warning] = @product.errors.full_messages
          render :new
        end
      end

    ✅ 记录:如何使用插入一个占位图片image in placehold.it

    image_tag("http://placehold.it/200x200&text=No Pic", size:"400")

    会生成一个400*400的灰色方块。中间显示:No Pic 

    <img src="http://placehold.it/200x200">  #生成一个200的占位图框



  • 相关阅读:
    MyEclipse 常用快捷键
    javaEE基础08
    MySql卸载重新安装出现Start service没有响应的解决办法(64位)
    javaSE基础07
    为WAMP中的mysql设置密码(默认为空)
    javaSE基础06
    javaSE基础05
    vue框架构建项目流程
    阿里云或本地部署服务器(一)---nginx本地和服务器代理
    修改vue element Transfer 穿梭框里内容区的宽度
  • 原文地址:https://www.cnblogs.com/chentianwei/p/9245403.html
Copyright © 2011-2022 走看看