小编Sou*_*nka的帖子

rails active_storage:install IS NOT WORKING

我已将rails api应用程序从5.1更新到5.2.我只使用rails api.我正在尝试使用活动存储.我认为问题是由于线路config.api_only = true输入config/application.rb.

我做了很多谷歌,但没有找到任何东西如何在rails api中使用主动存储.

这是我的Gemfile:

source 'https://rubygems.org'

ruby '2.5.1'

git_source(:github) do |repo_name|
  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
  "https://github.com/#{repo_name}.git"
end

gem 'rails', '~> 5.2.0'
gem 'pg', '>= 0.18', '< 2.0'
gem 'puma', '~> 3.7'
gem 'rack-cors'

# Auth
gem 'bcrypt'
gem 'jwt'

#Media file upload
gem 'activestorage'

# gem 'devise', '4.4.3'
# gem 'devise-jwt', '~> 0.5.6'
gem 'active_model_serializers', '~> 0.10.0', require: true

# backgroud jobs
gem 'sidekiq'

# fast boot
gem 'bootsnap', …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-api rails-activestorage

8
推荐指数
2
解决办法
2632
查看次数

禁用 eslint 警告

锚用作按钮。锚点主要用于导航。请改用按钮元素。(jsx-a11y/anchor-is-valid)

我想禁用上述警告。

所以我写

<div data-g-id={this.props.g.id}>
  (// eslint-disable-next-line anchor-is-valid)
  <a
    className='classname'
    href="#"
    data-point="TL"
    onClick={this.callFunction}
   >
</div>
Run Code Online (Sandbox Code Playgroud)

但上面的一个不起作用。

reactjs eslint eslint-config-airbnb

7
推荐指数
1
解决办法
4471
查看次数

如何在 rails api 中使用 devise-jwt 和 devise 进行登录、注册和注销

我正在使用devise-jwt为后端使用 rails ,并对前端部分做出反应。

我正在关注这个https://github.com/waiting-for-dev/devise-jwt/blob/master/README.md

我的 routes.rb 文件包含:

 Rails.application.routes.draw do
  # remove this in production
  require 'sidekiq/web'
  mount Sidekiq::Web => '/sidekiq'

  namespace :api, defaults: { format: 'json' } do
    namespace :v1 do
      devise_for :users, :controllers => {sessions: 'api/v1/sessions', registrations: 'api/v1/registrations'}
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我的 registrations_controller.rb (app/controllers/api/registrations_controller.rb)

class Api::V1::RegistrationsController < Devise::RegistrationsController
  respond_to :json, :controllers => {sessions: 'sessions', registrations: 'registrations'}

  before_action :sign_up_params, if: :devise_controller?, on: [:create]

  def create
    build_resource(sign_up_params)

    if resource.save
      render :json => resource, serializer: Api::V1::UserSerializer, meta: { message: …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise reactjs

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

为 postgres rails 中的 Enum 类型添加额外的值

我正在运行下面给出的迁移来为我的blood枚举添加一个额外的值。

class AddTypesToBlood < ActiveRecord::Migration[5.2]
  def up
    execute <<-SQL
      ALTER TYPE blood ADD ATTRIBUTE 'NA';
    SQL
  end

  def down
    execute <<-SQL
      ALTER TYPE blood DROP ATTRIBUTE 'NA';
    SQL
  end
end
Run Code Online (Sandbox Code Playgroud)

但是上面的迁移是抛出错误。Pease 查看终端屏幕截图是否有错误。

在此处输入图片说明

postgresql enums ruby-on-rails

4
推荐指数
1
解决办法
3464
查看次数

在 RAILS 的 POSTGRESSQL 数据库中存储 URL 的最佳数据类型是什么?

在 RAILS 的 POSTGRESSQL 数据库中存储 URL 的最佳数据类型是什么?

url 可以是 youtube 视频链接或一些网站链接。

postgresql ruby-on-rails

3
推荐指数
1
解决办法
1万
查看次数

addClass和removeClass反应

我想检查目标元素是否包含一个类。如果不是,则添加该类;如果是,则删除该类。

class Hello extends React.component{
  addActiveClass(e){
     if(e.target.classList.contains("active")){
         //I wanna to add active class to e.target
     }else{
         //I wanna to remove active class from e.target
         //I wanna to do something like e.target.classList.removeClass("atcive");
     }
  }

  render() {
       <div className="red green blue" onClick={this.addActiveClass}>Hello World</div>
       <div className="red green blue" onClick={this.addActiveClass}>Good Bye World</div>

  }
}
Run Code Online (Sandbox Code Playgroud)

我想添加和删除类仅针对目标元素,而不是其他元素。

reactjs

2
推荐指数
2
解决办法
1万
查看次数

在rails中Rubocop的哈希参数周围的冗余花括号

bundle exec rubocop -p为这条特殊线做完之后,我正在进攻.

 post = current_timeline.posts.build(post_params.merge({ avatars: params[:avatars] }))
Run Code Online (Sandbox Code Playgroud)

违法行为是: Style/BracesAroundHashParameters: Redundant curly braces around a hash parameter.

怎么解决?我是红宝石中的rubocop新手.

ruby rubocop

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

postgres中的枚举类型的schema.rb崩溃

我正在使用表格的gender字段user作为enum类型。

迁移也成功进行。但是schema.rb崩溃了。

运行迁移后,我的schema.rb样子:

ActiveRecord::Schema.define(version: 2018_07_23_115046) do

    # These are extensions that must be enabled in order to support this database
    enable_extension "plpgsql"

    # Could not dump table "users" because of following StandardError
    # Unknown type 'gender' for column 'gender'

end
Run Code Online (Sandbox Code Playgroud)

我的迁移是:

class AddGenderToUsers < ActiveRecord::Migration[5.2]
  def up
    execute <<-SQL
      CREATE TYPE gender AS ENUM ('male', 'female', 'not_sure', 'prefer_not_to_disclose');
    SQL

    add_column :users, :gender, :gender, index: true
  end

  def down
    remove_column :users, :gender

    execute …
Run Code Online (Sandbox Code Playgroud)

postgresql enums ruby-on-rails

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

rails api 和 react api 的分页

我正在构建一个网络应用程序。为此,我将rails其用作backend. 也react用于frontend. 我有一个模型user。我想向users网站用户显示所有内容及其详细信息。所以我有大约 10,000 多个用户。所以我不能一次性将所有用户发送到前端。我想一次只显示 50 个用户。因此,要查看接下来的 50 个用户,前端会向我发送一个新请求以获取接下来的 50 个用户,依此类推。所以我没有得到正确的路径如何构建它。

现在我把所有的用户都这样了,我的服务器也挂了。

我的 users_controller.rb

 class UsersController < ApplicationController
    def index
      users = User.all
      render_success(:ok, users, meta: { message: 'User sucessfully send' })
    end
 end
Run Code Online (Sandbox Code Playgroud)

简而言之 - 我只想在每个请求中向前端发送有限数量的数据。

pagination ruby-on-rails rails-api reactjs

1
推荐指数
2
解决办法
3281
查看次数

Rails 序列化器 0.10 中的条件属性和方法

class Api::V1::BookSerializer < ActiveModel::Serializer
  attributes :id, :status, :name, :author_name, :published_date

  attributes :conditional_attributes if condition_1?
  belongs_to :user if condition_2?
end
Run Code Online (Sandbox Code Playgroud)

在这里,我想为控制器的基本操作设置条件。

例如,我想仅发送索引操作的条件属性,而不发送其他操作的条件属性。

但据我所知,rails "active_model_serializers", "~> 0.10.0" 并没有给出任何这样的东西。

serialization ruby-on-rails active-model-serializers

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

无法自动加载常量JWTBlacklist,需要使用/home/sourabh/dev/celebration/app/models/jwt_blacklist.rb进行定义(LoadError)

我的user.rb模型包含:

class User < ApplicationRecord

  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable,
         :confirmable, :lockable, :timeoutable, :omniauthable,
         :jwt_authenticatable, jwt_revocation_strategy: JWTBlacklist

  def send_devise_notification(notification, *args)
    devise_mailer.send(notification, self, *args).deliver_later
  end
end
Run Code Online (Sandbox Code Playgroud)

我正在使用devise-jwt gem登录我的Rails api。

我的JWTBlacklist.rb模型包含:

class JwtBlacklist < ApplicationRecord
  include Devise::JWT::RevocationStrategies::Blacklist

  self.table_name = 'jwt_blacklist'
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise jwt

0
推荐指数
1
解决办法
1140
查看次数