我正在尝试通过安装 bootstrap 和 jQuery 创建一个 Rails 应用程序。首先我尝试使用创建
rails new name--css bootstrap
Run Code Online (Sandbox Code Playgroud)
但它不起作用。所以我用它手动完成了。
我也尝试使用 esbuild 但在控制台中打印时它不起作用。这是我尝试过的YouTube 链接。
所以问题是如何在不使用 webpacker 的情况下在 Rails 7 应用程序中安装 jQuery
问题是现在 bootstrap 和 JavaScript 可以工作,但 jQuery 不行。
这是我的文件看起来像
// app/assets/stylesheet/application.scss
@import "bootstrap-sprockets";
@import "bootstrap";
Run Code Online (Sandbox Code Playgroud)
// app/javascript/application.js
//= require jquery
//= require jquery_ujs
//= require bootstrap.min
// require turbolinks
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
# Gemfile
gem 'bootstrap-sass', '~> 3.3.7'
gem 'jquery-rails'
gem 'sass-rails'
Run Code Online (Sandbox Code Playgroud)
所有这些创建了一个控制器并添加了一些基本的引导程序、JavaScript 和 jquery 代码来测试它是否工作,但 JavaScript 和引导程序都工作。将 ajax.googleapi 链接添加到 HTML 页面时,jQuery 正在工作。但这不是一个好的做法。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
所以问题是如何在 …
以前在 Rails 中使用button_to标签时,可以使用这样的确认对话框
<%= button_to 'Destroy', @post, method: :delete, data: { confirm: 'Are you sure?' } %>
Run Code Online (Sandbox Code Playgroud)
data: { confirm: 'Are you sure?' }是 @rails/ujs 库在幕后使用的 Rails 魔法数据属性
在 Rails 7 之后,默认情况下该库不再打开。使用 Turbo 库代替 Rails
现在这段代码不起作用
Rails 官方文档和Turbo 手册中没有任何信息
我尝试过的
<%= button_to 'Destroy', @post, method: :delete, data: { turbo_confirm: 'Are you sure?' } %>
<%= button_to 'Destroy', @post, method: :delete, data: { 'turbo-confirm': 'Are you sure?' } %>
Run Code Online (Sandbox Code Playgroud)
但没有结果
我没有找到任何解决方案,但在 Hotwire论坛上找到了。此解决方案具有刺激作用。我只是稍微改进一下
<%= …Run Code Online (Sandbox Code Playgroud) 我试图找到在 Rails 应用程序中使用通用表表达式进行 Postgres 查询的最佳方法,因为我知道 ActiveRecord 显然不支持 CTE。
我有一个名为的表user_activity_transitions,其中包含一系列正在启动和停止的用户活动的记录(每行指状态的更改:例如启动或停止)。
一个地方user_activity_id可能有很多对开始停止的情侣,它们位于不同的两排。如果活动当前正在进行并且尚未停止,则也可能只有“已开始”。第sort_key一个状态从 0 开始,每次状态更改时增加 10。
id to_state sort_key user_activity_id created_at
1 started 0 18 2014-11-15 16:56:00
2 stopped 10 18 2014-11-15 16:57:00
3 started 20 18 2014-11-15 16:58:00
4 stopped 30 18 2014-11-15 16:59:00
5 started 40 18 2014-11-15 17:00:00
Run Code Online (Sandbox Code Playgroud)
我想要的是以下输出,将开始-停止的对组合在一起,以便能够计算持续时间等。
user_activity_id started_created_at stopped_created_at
18 2014-11-15 16:56:00 2014-11-15 16:57:00
18 2014-11-15 16:58:00 2014-11-15 16:59:00
18 2014-11-15 17:00:00 null
Run Code Online (Sandbox Code Playgroud)
表的实现方式使得运行该查询变得更加困难,但对于未来的更改(例如新的中间状态)更加灵活,因此不会进行修改。
我的 Postgres 查询(以及 Rails 中的相关代码):
query = …Run Code Online (Sandbox Code Playgroud) postgresql ruby-on-rails common-table-expression rails-activerecord
使用 ruby,如何对字母表中的每个字母(键)和 1-26(值)进行哈希?
我需要创建一个哈希,其中键为“a”到“z”,值为 1 到 26,但我不想自己编写alphabet = {'a'=>1,'b'=>2,....'y'=>25,'z'=>26}
我的代码中需要这个来打印alphabet[i] if alphabet.key?(i)
我使用Rails Admin和Devise来管理和用户模型.我在用户模型中添加了一列"admin"来表示其身份.在config/routes.rb中,我为RailsAdmin:Engine安装/ admin
我想只允许current_user.admin用户访问/ admin,否则,将用户重定向到主页.
如何在最干净的代码中实现这一点?
我有很大的按文档ID和版本排序的版本化文档流。
例如,Av1,Av2,Bv1,Cv1,Cv2
我必须将其转换为另一个Stream,其记录通过文档ID进行汇总。
A [v1,v2],B [v1],C [v1,V2]
可以不使用而完成此操作Collectors.groupBy()吗?我不想使用groupBy()它,因为它将在分组之前将流中的所有项目加载到内存中。从理论上讲,不需要将整个流加载到内存中,因为它是有序的。
我有一个pandas列,其中列出了各种长度的值,如下所示:
idx lists
0 [1,3,4,5]
1 [2]
2 [3,5]
3 [2,3,5]
Run Code Online (Sandbox Code Playgroud)
我想将它们转换成矩阵格式,其中每个可能的值代表一列,如果该值存在,则每一行填充1,否则填充0,例如:
idx 1 2 3 4 5
0 1 0 1 1 1
1 0 1 0 0 0
2 0 0 1 0 1
3 0 1 1 0 1
Run Code Online (Sandbox Code Playgroud)
我以为这个术语是一种热编码,但是我尝试使用pd.get_dummies方法,该方法指出它可以进行一热编码,但是当我尝试提供上述输入时:
test_hot = pd.Series([[1,2,3],[3,4,5],[1,6]])
pd.get_dummies(test_hot)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/reshape.py", line 899, in get_dummies
dtype=dtype)
File "/opt/anaconda3/lib/python3.7/site-packages/pandas/core/reshape/reshape.py", line 906, in _get_dummies_1d
codes, levels = _factorize_from_iterable(Series(data))
File "/opt/anaconda3/lib/python3.7/site-packages/pandas/core/arrays/categorical.py", line 2515, …Run Code Online (Sandbox Code Playgroud) 例如我有模型
class User < ApplicationRecord
has_one_attached :avatar
has_one_attached :diploma
has_many_attached :photos
has_many_attached :files
end
Run Code Online (Sandbox Code Playgroud)
如何获取某些模型的附件名称列表(分别用于has_one_attached和has_many_attached)?
[:avatar, :diploma]而[:photos, :files]在这种情况下。
通用表表达式是不同 RDBMS(PostgreSQL、MySQL、Oracle、SQLite3 等)中相当常见的做法,用于跨多个查询组件多次执行相同的计算或用于某些其他目的
我发现旧的 gem postgres_ext具有这样的功能。但它没有得到维护。这是 Postgres 特有的
有一些关于它的老问题,但它们是关于特定的 Rails 版本或特定的 RDBMS 或关于Arel
是否可以使用WITHAR 某种常见方式在 Rails 中使用子句?
这里是Ruby的新手,并试图建立经典的User-Articles MVC结构,而是使用Objectives和Key Results.
问题:
NoMethodError in Home#index - undefined method `keyresults' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
题:
如何在控制器中定义目标和关键结果之间的关系?
我认为这是问题所在.
关于如何进行的任何解释都是惊人的!
我试过了:
@objectives = Objective.all.include(:keyresult)
Run Code Online (Sandbox Code Playgroud)
但那没用.
目标:在索引页面列出所有目标及其相关的关键结果:
目标1
- 关键结果1
- 主要结果3
目标2
- 关键结果2
- 关键结果4
- 关键结果5
objective.rb
class Objective < ApplicationRecord
has_many :objectives_keyresults, dependent: :destroy
has_many :keyresults, through: :objectives_keyresults
Run Code Online (Sandbox Code Playgroud)
keyresult.rb
class Keyresult < ApplicationRecord
belongs_to :objective
Run Code Online (Sandbox Code Playgroud)
home_controller.rb
class HomeController < ApplicationController
def index
@objectives = Objective.all
end
Run Code Online (Sandbox Code Playgroud)
index.html.erb
<%- model_class = Objective -%>
<% @objectives.each do |objective| %>
Objective:
<%= objective.title %>
Key Result:
<% …Run Code Online (Sandbox Code Playgroud) ruby ×2
collectors ×1
devise ×1
java ×1
java-stream ×1
jquery ×1
list ×1
pandas ×1
postgresql ×1
python ×1
rails-admin ×1
ruby-hash ×1
turbo ×1