小编San*_*arg的帖子

Ruby on Rails 控制台 - 未定义的方法“资产”

在该项目中,控制台停止启动,我尝试了在谷歌中找到的所有内容。

我运行rails c并得到一个错误:

/Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/railties-5.2.0/lib/rails/railtie/configuration.rb:97:in `method_missing': undefined method `assets' for #<Rails::Application::Configuration:0x007fae6a9bdf78>
Did you mean?  asset_host (NoMethodError)
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/popper_js-1.12.9/lib/popper_js/engine.rb:6:in `block in <class:Engine>'
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/railties-5.2.0/lib/rails/initializable.rb:32:in `instance_exec'
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/railties-5.2.0/lib/rails/initializable.rb:32:in `run'
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/railties-5.2.0/lib/rails/initializable.rb:61:in `block in run_initializers'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:228:in `block in tsort_each'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:431:in `each_strongly_connected_component_from'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:349:in `block in each_strongly_connected_component'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `each'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `call'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:347:in `each_strongly_connected_component'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:226:in `tsort_each'
    from /Users/gorbunov/.rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/tsort.rb:205:in `tsort_each'
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/railties-5.2.0/lib/rails/initializable.rb:60:in `run_initializers'
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/railties-5.2.0/lib/rails/application.rb:361:in `initialize!'
    from /Users/gorbunov/Projects/buktopuha_api/config/environment.rb:5:in `<main>'
    from /Users/gorbunov/.rvm/gems/ruby-2.4.1/gems/bootsnap-1.3.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require' …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

Rails 5 ActiveStorage中的ImageOptimization

我计划在我的一个网站上将Rails升级到5.2并引入ActiveStorage,截至目前我使用Paperclip和paperclip_optimizer.其中一个不利的方面是,当用ActiveStorage替换回形针时,我将丢失优化器.如何在ActiveStorage中实现用户上传的自动图像优化?

rails-activestorage ruby-on-rails-5.2

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

什么时候执行 ActiveRecord 查询?

我对 Ruby 如何执行查询感到困惑:

假设我们有两种方法:

def meet1
   user = User.all
end
Run Code Online (Sandbox Code Playgroud)

每次我调用这个方法时,我都会运行一个查询,它说:

'用户负载 (18.3ms) SELECT "users".* FROM "users" INNER JOIN "roles" ON "roles"."user_id" = "users"."id" WHERE "users"."banned" = 'f' AND "roles"."description" = 'gogetter''

这意味着它查询用户...

假设我有另一种方法:

def meet2
  user = User.all
  user.to_sql
end
Run Code Online (Sandbox Code Playgroud)

当我调用它时,它返回了该查询的 SQL 格式:

所以我的问题是在第一种方法中执行查询,但是查询是否在第二种方法中执行?或者它只是向我显示最终结果而不执行查询,因为我从未使用过它?

ruby ruby-on-rails ruby-on-rails-3

5
推荐指数
2
解决办法
2246
查看次数

Docker Postgres Ruby on Rails 无法连接

我正在关注 docker Docker Rails的本教程,并且创建了一个文件夹并在我的 docker 文件中添加了下面的代码。

 FROM ruby:2.5
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
RUN mkdir /myapp
WORKDIR /myapp
COPY Gemfile /myapp/Gemfile
COPY Gemfile.lock /myapp/Gemfile.lock
RUN bundle install
COPY . /myapp
Run Code Online (Sandbox Code Playgroud)

我的 docker compose 文件代码是:

 version: '3'
services:
  db:
    image: postgres
    volumes:
      - .data:/var/lib/postgresql/data
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/myapp
    ports:
      - "3000:3000"
    depends_on:
      - db
Run Code Online (Sandbox Code Playgroud)

当我运行 docker compose up 时,我正在遵循教程,我只能看到此错误:

Could not connect to …
Run Code Online (Sandbox Code Playgroud)

ruby postgresql ruby-on-rails docker

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

如何检查日期范围是否在 Ruby 中的另一个日期范围之间

所以我有一个可能类似于的日期范围,((Date.today - 90)..Date.today)我想检查是否(Date.today - 90)在另一个日期范围中的第一个值之后,并且在日期范围中Date.today的最终值之前。我已经尝试了以下

((Date.parse('25-12-2000')..(Date.parse('25-12-2020')).include?((Date.today - 90)..Date.today)
Run Code Online (Sandbox Code Playgroud)

这将返回 false。如果我替换include?member?或,我也会出错cover?

我如何让这个返回true?语法更改还是我需要在 Ruby 中使用不同的方法?

ruby ruby-on-rails

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

Airbnb如何处理每篇文章?

我正在使用Ruby on Rails创建一个网站,引用Airbnb,我发现很难制作以下网址结构.

https://www.airbnb.com/help/article/767/what-is-the-resolution-center

在此URL中,似乎有一个文章资源在帮助下,因此767是文章的ID.此外,在ID之后,URL中有页面的名称.

scope '/help' do
  resources :articles
end
Run Code Online (Sandbox Code Playgroud)

通过这样做,我能够路由到这一部分.

/帮助/用品/ 'PAGE_ID'

但我不知道该怎么做.

我生成了文章模型(标题:字符串,内容:文本),我猜测每篇文章(标题和内容)都是根据id显示的.


这是我的问题.

  • Airbnb如何在文章ID之后路由page_name?
  • 如果显示文章表中的标题和内容,如何将内容与I18n放在一起或将内容国际化?
  • 另外,请告诉我我的猜测是否错误,并告诉我Airbnb如何路由每篇文章.

谢谢.

ruby url routing ruby-on-rails url-routing

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

将两个不同的字符串与Ruby on Rails中的相同部分进行比较

我需要接受URL并将其与另一个进行比较.两个URL都具有相同的开始但不同的末端会动态更改.我接受这样的事情https://url.com/something_else并且需要与https://url.com/检查这部分是否在收到的URL中进行比较something_else.我怎么能在Rails中这样做?

ruby url ruby-on-rails

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

Ruby on Rails link_to URL并在最后添加id

我正在尝试link_to一个网址,并希望在最后添加id.id在全局变量@id中:

<%= link_to "link", "https://www.example.com/sample-#{@id}" %>
Run Code Online (Sandbox Code Playgroud)

以上回复:

https://www.example.com/sample-#%3CItem:0x007fe66cf8e850%3E
Run Code Online (Sandbox Code Playgroud)

知道如何实现这个吗?

ruby ruby-on-rails

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

我们可以在Ruby on Rails ActiveRecord的一个查询中插入多行吗?

您好,在给定情况下

 some_model_id = [1, 2, 3, 4]
 some_model_id.each do |some_id|
   SomeOtherModel.create(some_column: some_id)
 end
Run Code Online (Sandbox Code Playgroud)

在这里insert查询将n根据some_model_id大小运行时间

有什么办法可以在单个查询中以其他更好的方法做到这一点呢?

activerecord ruby-on-rails

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