我试图在 macOS Sonoma 14.2.1 上安装 mysql2 gem 并首先收到错误:
> gem install mysql2
...
ld: library 'zstd' not found
...
Run Code Online (Sandbox Code Playgroud)
然后:
> gem install mysql2 -- --with-ldflags=-L(brew --prefix zstd)/lib
(works fine)
Run Code Online (Sandbox Code Playgroud)
所以实际上我正在做的是(来自另一篇 Stack Overflow 帖子):
> gem install mysql2 -v '0.5.3' -- --with-opt-dir=(brew --prefix openssl) --with-ldflags=-L(brew --prefix zstd)/lib
...
client.c:178:24: error: call to undeclared function 'rb_tainted_str_new2'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
VALUE rb_sql_state = rb_tainted_str_new2(mysql_sqlstate(wrapper->client));
^
...
Run Code Online (Sandbox Code Playgroud)
我找不到如何解决这个错误
第一个完整日志:
> gem install mysql2
Building …Run Code Online (Sandbox Code Playgroud) 我想要一种使用 React Context 获取和获取当前用户的方法(不要将 props 传递给我的所有组件)
我尝试使用 React Context 但不明白如何实现const { currentUser, fetchCurrentUser } = useCurrentUser()文档中的类似内容。
我将 a 中的电子邮件地址标准化before_validation,例如:
class User
before_validation do
self.email = normalized_email
end
def normalized_email
User.normalize_email(email)
end
end
Run Code Online (Sandbox Code Playgroud)
但是,例如,我必须User.find_by(email: User.normalize_email(params[:email]))在任何地方执行此操作,今天在尝试查找用户时,我忘记了对电子邮件地址进行标准化,因此我希望自动完成此操作。
理想情况下,我不会覆盖find_by,它适用于所有方法,例如where。
我该怎么做?
当我启动 Rails 应用程序时,我得到:
/Users/dorianmariefr/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/rack-3.0.7/lib/rack/chunked.rb:6:警告:Rack::Chunked已弃用并将在 Rack 3.1 中删除
不知道如何解决这个警告,有什么想法吗?
目前我打电话:
Appointment.last.to_signed_global_id.to_s
# => BAh7CEkiCGdpZAY6Bk...27c1175e6e2
Appointment.last.to_signed_global_id.to_s
# => BAh7CEkiCGdpZAY6BkVU....0efc706151feed7178
Run Code Online (Sandbox Code Playgroud)
有没有办法始终返回相同的签名全局 id?