直接怼个 React Component 的确很方便,这也是 Pure React 的优点之一,也降低了新手学习成本。但是 React 的真正威力难道不是要搭配着所谓 React 生态一起使用才能发挥出来吗?拿 Rails 来说,在某些局部使用 React 不是不可以,但如果只在某个局部使用就有点为了 React 而 React 的意思了,如果其他地方还在用着 turbolinks + stimulus 就更不伦不类了,turbolinks + stimulus 本身就已经是非常好的解决方案了。真正的差别,我认为是 React 或者 Vue 所代表的现代前端的思维方式,这个跟 stimulus 是本质上不同的,如果你认同,就应该整体切换到大前端思路,反之,就可以直接 Rails 全家桶,而不太适合混着用。
上传到 aliyun 的时候该如何自动设置文件的 header 呢?
我跟你一样。。。
膜拜,感谢华顺大佬的贡献
嗯。。。试了几个不同的单词单复数,的确是我搞错了
关系和官网例子一样,我在原文补齐了
Get
关联关系是唯一的
指的是...(好吧我表述不清)
user_1 可以有 topic_1,topic_2,topic_3,但不能有两个 topic_1,反之亦然:
validates :user_id, uniqueness: { scope: :topic_id }
没错,关键就在于『把中间表作为查询的主表』,在视图中循环中间表实例。
也因此,只要循环的是 topics 就避免不了这个问题,循环中 topic.topic_users
获取到的中间表 collection 也和 @user
没什么关系。
user
和 topic
是多对多的关系,不能 has_one :user
不明白,大佬再解释一下呗~
原理上一样的,关键是循环中间表实例。
但,的确,你是对的,我少想一步,TopicUser.where(user_id: @user.id)
就等于是 @user.topic_users
,放着现有 api 不用,脑子卡壳了。而且这里用不着再取 topic_id: topic_ids
,直接 includes(:topic)
就行了。
更新了原文,多谢纠正!
哦~有道理,学到了!
第一个问题不是判断存在,是要等覆盖的元素消失了才 click。
第二个问题我放弃了 ,找到了这个 issue,
第三个问题你说的对的,我之前可能没搞对,用 have_no_content 和 have_content 就可以了。
最近也在启用 Capybara,看了你的帖子受益匪浅,非常实用!
有几个问题请教一下:
我明白了,在第一次新建模型 create
的时候 rawValue
获取到的是用户 input
输入,是 String
。保存之后变成 Date
或者 DateTime
,此时如果再去验证这个用户实例,获取到的 rawValue
就是保存后的 Date
或者 DateTime
格式了。
的确是验证器逻辑有问题,感谢建议!
用了 react。。。
还真是,注释掉这一段就不报错了,多谢赐教!
知道原因吗?
完全没有头绪。同一套代码,开发环境是好的,编译后的就报错。页面一加载就看到 console 报错了,还没有触发广播的。也不知道是不是 js 编译的过程哪里有问题,但我用的都是 Rails 的默认组件。
配了,生产环境的有启动 redis 的 container,并且加了环境变量 REDIS_URL=redis://redis:6379/1
cable.yml
development:
adapter: async
test:
adapter: test
production:
adapter: redis
url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %>
channel_prefix: app_production
看过你的帖子 因为主要是在介绍原因和两种不同方法,并且 docker-sync 的安装也有不同(不需要 brew install 依赖),所以我就新起一篇专门介绍 docker-sync 的
这个 issue 没有深入了解,但对普通的 Docker 开发环境来说,用 docker-sync 已经完全没问题啦
Mac 的确背了锅,因为文件系统不同。Docer for Mac 用的是 osxfs 共享文件系统,osxfs 在做 Mac 到 Linux 的文件同步的时候因为文件系统的各种差异导致速度非常慢(这也是为什么在 Linux 上跑 docker 速度就快很多的原因),具体详见官方介绍。简单来说,docker-sync 就是通过一系列手段(主要是 Unison)优化了 Mac 的 fs 到 Linux 的 fs 的文件同步。docker-sync 的使用还是比较简单的,安装 gem,配置 yml,然后 docker-sync start
就可以了,建议 Mac 用户们直接拿来用。(个人看法,欢迎指正)
我也是这样,正在尝试 docker-sync
啊~ 我之前看过 plugin,只是大概了解它的意思。这次在引用 Vue 的时候出了问题,没想到官方文档给出了方法,原来语法是这样的:Vue: ['vue/dist/vue.esm.js', 'default'],仔细读了下终于明白了
第 3 个问题 Rei 在另一个帖子已经给了解释:https://ruby-china.org/topics/38740#reply-355447 我的问题就是漏配置了 webpack-dev-server 在 web 的环境变量
受教了,多谢~
哦~对,多谢大佬
这个问题的原因是啥?如何解决的?