Posso obter a mesma saída da consulta SQL abaixo usando o ActiveRecord?
SELECT d.title, COUNT(ep.*)
FROM posts d
LEFT JOIN comments ep
ON d.title = ep.post_title
GROUP BY d.title;
Tentei Post.joins(:comments).group(:title).count('comments.*')
.
Posso obter a mesma saída da consulta SQL abaixo usando o ActiveRecord?
SELECT d.title, COUNT(ep.*)
FROM posts d
LEFT JOIN comments ep
ON d.title = ep.post_title
GROUP BY d.title;
Tentei Post.joins(:comments).group(:title).count('comments.*')
.
Baixei a versão mais recente (v4.0.4) do TailwindCSS CLI autônomo e criei os seguintes arquivos.
tailwind.config.js
module.exports = {
content: ["./index.html"],
theme: {
extend: {},
},
plugins: [],
}
vento de cauda.css
@tailwind base;
@tailwind components;
@tailwind utilities;
índice.html
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<p class="text-emerald-400 text-5xl font-bold">Lorem Ipsum</p>
</body>
</html>
Comecei a assistir o CSS com
./tailwindcss -i tailwind.css -o style.css --watch
≈ tailwindcss v4.0.4
Done in 41ms
Entretanto, style.css
não contém os estilos da minha index.html
página.
estilo.css
/*! tailwindcss v4.0.4 | MIT License | https://tailwindcss.com */
.relative {
position: relative;
}
.mx-auto {
margin-inline: auto;
}
.flex {
display: flex;
}
.inline-flex {
display: inline-flex;
}
.w-full {
width: 100%;
}
.flex-col {
flex-direction: column;
}
.items-center {
align-items: center;
}
.justify-center {
justify-content: center;
}
.justify-end {
justify-content: flex-end;
}
.justify-start {
justify-content: flex-start;
}
.object-cover {
object-fit: cover;
}
.text-center {
text-align: center;
}
.transition-all {
transition-property: all;
transition-timing-function: var(--tw-ease, ease);
transition-duration: var(--tw-duration, 0s);
}
.duration-700 {
--tw-duration: 700ms;
transition-duration: 700ms;
}
@property --tw-duration {
syntax: "*";
inherits: false;
}
O que estou perdendo aqui?
Preciso acessar uma constante ActiveRecord de um módulo incluído em um aplicativo Rails.
class User < ApplicationRecord
include ModOne
OPTIONS = {a: 1}.freeze
...
end
Module ModOne
extend ActiveSupport::Concern
included do
do_semething(self::OPTIONS)
end
class_methods do
def do_something(opts)
...
end
end
end
Mas eu entendo
NameError: constante não inicializada Usuário (chame 'User.connection' para estabelecer uma conexão)::OPTIONS Você quis dizer? Usuário::OPTIONS
O que estou perdendo aqui?
Também tentei substituir self
por base_class
e evento User
, mas recebo o mesmo erro.
Já faz alguns dias que estou tentando resolver esse problema, mas não consigo fazer funcionar. Analisei muitas perguntas aqui no Stack-overflow, mas ainda não consigo descobrir a maneira correta de resolvê-las.
Eu tenho uma string que representa expressões aritméticas com números e variáveis de "várias palavras", como (Car speed / Road-congestion Time) + 100
e preciso combinar tudo, menos +-*/()
.
Preciso obter as três correspondências a seguir:
O seguinte tipo de expressão funciona (adiciona uma correspondência vazia extra no final) [+-\\*\\/()]?([^+-\\*\\/()]*)[+-\\*\\/()]?
para string sem hífens nas variáveis de "várias palavras". Para distinguir sinais de menos e hífens, os sinais de menos estão sempre cercados por espaços, mas não consigo descobrir como especificar isso no regexp.
Alguma idéia de como atualizar meu regexp para caber em todos os casos? Além disso, o regexp deve ignorar os números (obter apenas as duas primeiras correspondências no exemplo acima).
PS - A divisão é a última opção e se possível gostaria de usar uma expressão regular.
No Rails 7, por que o seguinte auxiliar não renderiza os itens da lista?
def list(options)
tag.ul(class: "a") do
options.each do |option|
tag.li(class: "b") do
tag.span(option, class: "c")
end
end
end
end
Eu chamo <%= list(["X", "Y", "Z"]) %>
e o que é renderizado é simplesmente <ul class="a"></ul>
.
O que estou perdendo aqui?
Em Ruby, preciso verificar se todos os elementos de um array se alternam em direção, ou seja, se o antecessor e o sucessor são maiores ou menores que cada elemento.
Dando as seguintes matrizes, o resultado deve ser conforme indicado
[1,3,2,4,3] # => true
[3,2,4,3,5] # => true
[1,2,3,1,3]. # => false
[1,2,2,1,3]. # => false
Eu criei o seguinte código, que parece funcionar, mas é bonito ou simples de entender.
array.each_cons(2) # get subsequent couple of items
.map {|a,b| b-a}. # get the difference between first and second
.map {|n| n <=> 0} # get the sign (-1/+1)
.each_cons(2) # get couple of signs
.map {|a,b| a+b} # sum each couple
.uniq == [0] # return true if all the couple are 0
Alguma sugestão de como simplificar a verificação?