Как запускать фрагменты Rails в Интернете - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь воспроизвести ошибку rails ,

У меня есть фрагмент rails , но я не знаю, как его запустить.

# frozen_string_literal: true

require "bundler/inline"

gemfile(true) do
  source "https://rubygems.org"

  gem "activerecord", "5.1.6"
  gem "sqlite3"
end

require "active_record"
require "minitest/autorun"
require "logger"

# This connection will do for database-independent bug reports.
ActiveRecord::Base.establish_connection(adapter: "sqlite3", database: ":memory:")
ActiveRecord::Base.logger = Logger.new(STDOUT)

ActiveRecord::Schema.define do
  create_table :users, force: true do |t|
    t.integer :company_id, index: true, foreign_key: true
  end

  create_table :companies, force: true do |t|
  end
end

class Company < ActiveRecord::Base
  has_many :users, inverse_of: :company
end

class User < ActiveRecord::Base
  belongs_to :company, inverse_of: :users
end

class BugTest < Minitest::Test
  def test_pluck
    company = Company.create
    user = company.users.create

    assert_equal [[user.id, company.id]], User.where(company_id: company.id).includes(:company).pluck(:id, :'companies.id')
  end
end

Как я могу проверить этот фрагмент локально?

Стоит ли просто поместить его в файл .rb и запустить с помощью ruby?

1 Ответ

0 голосов
/ 05 декабря 2018

Вы можете запустить файл ruby ​​из терминала с помощью:

ruby path/to/ruby_file.rb

Однако приведенный выше фрагмент кода на самом деле ничего не делает из того, что я вижу, он просто устанавливает классы, готовые сделатьразберитесь с ними.

После просмотра ссылки на ошибку вам нужно будет создать новое приложение Rails (просто попробуйте rails new project_name из консоли), а затем настроить модели, как они описаны в фрагменте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...