你用的是 button_to 吗?注意到 data 前面还有个 form 了没?如果方便可以发一下你的代码或者 repo 我帮你看看
可以用 Turbo:
<%= button_to, method: :delete, form: { data: { "turbo-confirm": "Are you sure?" } } %>
贴一条:
DHH 配合 Rails7 发布,用 Rails7 做的博客 2021 版:
里面介绍了 Rails 常用的功能,包括新增的 importmaps, Hotwire, 部署到 Heroku 等。
(看不到视频的,链接在这 www.youtube.com/watch?v=mpWFrUwAN88)
Competitive salary with ... WHO? 没有标薪资范围在这里是会被临时 flag 的,如果有大致的范围还是标一下吧,这样也方便你找到合适的人。
我觉得你的想法很新颖,可能一时间大伙不太明白这种模式,不像已有的产品那么好理解,我觉得不妨加上一些页面的截图放到首页,这样更直观的让大家看到产品的内容,也更好理解这个是用来做什么的。另外我觉得你现在的描述比产品首页的更好理解,不妨就把你说的你做这个 side project 的起因以一种比较合适的语气放到首页,试试看效果。
论如何请 DHH 打开自己才刚关闭的 PR
看了 Rei 说“gem 内部并没有运行时代码,只是一些安装配置”之后,我昨天帮大家加了一个 Bulma 支持,https://github.com/rails/cssbundling-rails/pull/19 虽然已经很久没用 Bulma 了,最近一直在用 Bootstrap,Bootstrap 自带的 JS 的支持,比如 modal、tooltip 之类的还挺好用的
3 楼回复的代码版:
?> class A
?> attr_reader :content
?> def initialize(content)
?> @content = content
?> end
?> def hi1
?> content1 = content.gsub("1", "2")
?> end
?> def hi2
?> content = self.content.gsub("1", "2")
?> end
>> end
=> :hi2
>>
>> c1 = A.new("123")
=> #<A:0x00007f8d6e0a4878 @content="123">
>> c1.hi1
=> "223"
>> c1.hi2
=> "223"
我的思路是每次请求都要查一下数据库。
虽然会多一次数据库查询,就当作是 User.find 吧,也不会耗费太多资源。
这是我做的一个多 session 管理的 demo,没有用任何的第三方库,有一个小 bug 但不影响你看我的实现思路:https://github.com/printfinn/rails-session-board。
https://github.com/brianmario/mysql2/issues/1010#issuecomment-460257986 这个看过吗?试试能解决你的问题吗?
你不嫌弃的话可以看下我做的 url 短链接服务利用数据库主键 id 生成唯一短链接的 ruby 代码 https://github.com/printfinn/url_shortener/blob/master/app/models/link.rb。 这个可以保证不重复,而且(按我的理解)是 O(1) 的时间复杂度。 不知道你说的不可逆是指啥?逆回主键 id 吗?不可逆不知道,但可以做到防止遍历。比如可以考虑给这个 f(id) 前面加两位 prefix:
prefix = f(h(id) % (62 ** 2))
uid = "#{prefix}#{f(id)}"
f(x) 是数据库主键 id 转 a-zA-Z0-9 的函数
h(x) 可以是你设计的 hash function,别人猜不到你的 hash,也就无法遍历了
补充:如果你想不可逆,其实也容易,就是在设计 f(x) 时候不要按 a-zA-Z0-9 的顺序对应,而是自己设计一个表来查表,比如原来 0 对应 a,25 对应 z,26 对应 A,61 对应 9,你更改一下自己的映射表,比如 0 对应 f, 25 对应 8,总之不要被人猜出你的表就可以了。
xiaorong 的 hex 应该是 OK 的。
base xx 要注意是不是 url safe 的。