小编vin*_*nce的帖子

如何在sql中创建模式

根据http://edgeguides.rubyonrails.org/configuring.html这篇文章,我在application.rb中有这个

config.active_record.schema_format = :sql
Run Code Online (Sandbox Code Playgroud)

但是,它仍在创建db/schema.rb(即使在我删除它之后),更重要的是,当我运行"rake db:migrate"时,它不会在sql中创建模式.谁知道我做错了什么?我正在使用Rails 3.1.

activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

如何格式化irb命令提示符

以前我使用的是Ruby 1.8,我的irb命令提示符看起来像这样:

Air ~: irb
>> a = 1
=> 1
>> b = 2
=> 2
>> a + b
=> 3
Run Code Online (Sandbox Code Playgroud)

我安装了rvm(和Ruby 1.9.2),现在我的irb命令提示符如下所示:

Air ~: irb
ruby-1.9.2-p180 :001 > a = 1
 => 1 
ruby-1.9.2-p180 :002 > b = 2
 => 2 
ruby-1.9.2-p180 :003 > a + b
 => 3 
Run Code Online (Sandbox Code Playgroud)

有没有办法ruby-1.9.2-p180 :001从命令行中删除?

ruby irb

13
推荐指数
3
解决办法
7387
查看次数

需要帮助在 Mac 上安装 Ruby 2.7.2

我正在尝试在我的 Mac(带有所有更新的最新操作系统)上安装 Ruby 版本 2.7.2 并执行以下操作

brew update
brew upgrade rbenv ruby-build
Run Code Online (Sandbox Code Playgroud)

进而

rbenv install 2.7.2
ruby-build: definition not found: 2.7.2

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build:

  brew update && brew upgrade ruby-build
Run Code Online (Sandbox Code Playgroud)

所以我尝试按照上面的说明进行操作并得到这个

brew update && brew upgrade ruby-build
Already up-to-date.
Warning: ruby-build 20200926 already installed
Run Code Online (Sandbox Code Playgroud)

ruby homebrew rbenv ruby-build

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

更新到 Ruby 3.0 后出现 ArgumentError(参数数量错误(给定 2 个,预期 1))

当我尝试将网站更新到 Ruby 3.0.0 时,出现以下错误:

ArgumentError(参数数量错误(给定 2,预期 1))

 % rails console
Loading development environment (Rails 6.1.0)
irb(main):001:0> puts RUBY_VERSION
3.0.0
irb(main):002:0> puts IceCube::VERSION
0.16.3
irb(main):003:0> schedule = IceCube::Schedule.new
=> #<IceCube::Schedule:0x00007fccfe19cfa8 @start_time=2020-12-27 11:14:30 -0800, @all_recurrence_rules=[], @all_exception_rules=[]>
irb(main):004:0> puts schedule.to_ical
Traceback (most recent call last):
        1: from (irb):4:in `<main>'
ArgumentError (wrong number of arguments (given 2, expected 1))
Run Code Online (Sandbox Code Playgroud)

以下是与 Ruby 2.7.2 相同的命令

% rails console
Loading development environment (Rails 6.1.0)
irb(main):001:0> puts RUBY_VERSION
2.7.2
irb(main):002:0> puts IceCube::VERSION
0.16.3
irb(main):003:0> schedule = IceCube::Schedule.new
=> …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-3

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

如何从html创建多页pdf

我们需要打印数千张这种格式的发票 -

http://example.com/orders/n

其中n =数千个订单

浏览每个订单,然后单击"打印",这将花费我们一个漫长的时间.有没有办法从每个URL中创建一个多页pdf,我们可以将其作为一个pdf下载,这样我们可以点击"打印"一次?

ruby pdf-generation screen-scraping ruby-on-rails

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

with_lock 是否锁定块内的所有内容?

锁定块中的所有模型还是with_lock仅锁定模型本身?例如下面是item里面的所有模型都with_lock被锁定还是只是entry模型被锁定?

class Entry < ApplicationRecord
  enum state: [:pending, :posted]
    
  has_many :items, dependent: :destroy
 
  def post!
    with_lock do
      return unless pending?
      items.each { |i| i.post! }
      self.posted!
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

postgresql activerecord locking ruby-on-rails pessimistic-locking

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

如何为 Rails 添加自定义 CSS 文件

我正在使用 Rails 7 和 Tailwind 并运行rails new myapp --css tailwind它创建的app/assets/stylesheets/application.tailwind.css

如何添加自定义 CSS 文件,以便我们的所有 CSS 不都在这个文件中?我尝试添加此文件,但不知道如何链接它

app/assets/stylesheets/header.css

#header {
    @apply p-2;
}
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails tailwind-css ruby-on-rails-7

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

Rails 3.1中是否已取消"def验证"?

Rails 3.1中是否已取消"def验证"?我在Rails 3.1之前,它似乎没有工作

class Category < ActiveRecord::Base
  validates_presence_of :title

  private 

  def validate
    errors.add(:description, "is too short") if (description.size < 200)
  end 
end
Run Code Online (Sandbox Code Playgroud)

"标题"验证有效,但"描述"验证不起作用.

validation activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

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

如何对 add_column 进行可逆迁移

此迁移工作完美

class CreateCourses < ActiveRecord::Migration[6.0]
  def change
    create_table :courses do |t|
      t.references :user, null: false, foreign_key: true
      t.string :title, limit: 500, null: false
    end    
    reversible do |dir|
      dir.up do
        add_column :users, :courses_count, :integer, null: false, default: 0
      end
      dir.down do
        remove_column :users, :courses_count
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个它添加courses_count,但它并没有删除它rails db:rollback。可逆迁移的重点不是def change它会反转的方法add_column吗?

class CreateCourses < ActiveRecord::Migration[6.0]
  def change
    create_table :courses do |t|
      t.references :user, null: false, foreign_key: true
      t.string :title, limit: 500, null: false …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails rails-migrations

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

使用 Stimulus 淡出从 DOM 中删除元素

我目前有这个简单的刺激 JS 控制器,它从 DOM 中删除一个元素

import { Controller } from "stimulus"
export default class extends Controller {
  static targets = [ "element" ]
    close () {
        this.elementTarget.remove()
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在删除之前淡出元素?

javascript stimulusjs

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