小编Fel*_*ger的帖子

I18n的日名

没有翻译,这将得到我今天的名字:

Date.today.strftime("%A")
Run Code Online (Sandbox Code Playgroud)

我该如何本地化?

即"Mardi"如果I18n.locale设置为fr.

ruby ruby-on-rails rails-i18n ruby-on-rails-4

14
推荐指数
2
解决办法
5746
查看次数

将UTF-8设置为Ruby 1.9.3的默认值

我在Rails 4和Ruby 1.9.3上

我经常使用"奇怪"字符,所以我必须在所有.rb文件的顶部声明UTF-8编码.

有没有办法将UTF-8设置为Ruby 1.9.3的默认编码?


我尝试了所有答案,但在运行rake db:seed并创建一个属性包含US-ASCII无效字符的对象时,我仍然收到此错误:

`block in trace_on': invalid byte sequence in US-ASCII (ArgumentError)
Run Code Online (Sandbox Code Playgroud)

ruby encoding utf-8 ruby-1.9.3 ruby-on-rails-4

13
推荐指数
3
解决办法
2万
查看次数

Heroku上的自定义根域

我有一个域,example.com,我想用于我的rails-app驻留在example.herokuapp.com,我很困惑如何去做.

Heroku说

Heroku不支持区域顶点域(又名"裸","裸"或"根"域),例如example.com,使用传统的DNS A记录." 然后他们继续解释变通方法(使用ALIAS或ANAME).

我花了一个小时阅读这个主题(在这里和其他地方),但仍然没有理解这个.

是否有任何替代方法或解释如何为"虚拟"实现这一点?

dns heroku

12
推荐指数
1
解决办法
9958
查看次数

布尔属性的命名约定

我想编写其他人也很容易理解的代码.

布尔属性是喜欢hide_email还是email_hidden具有约定风格?

ruby attributes ruby-on-rails naming-conventions

12
推荐指数
1
解决办法
5136
查看次数

基于枚举值的自定义顺序

我为角色定义了Enum:

enum role: {ordinary: 0, manager: 1, admin: 2}
Run Code Online (Sandbox Code Playgroud)

我想按以下顺序订购一组对象:

admin (first all admins)
ordinary (then all ordinaries)
manager (and lastly all managers)
Run Code Online (Sandbox Code Playgroud)

这有可能吗?

enums activerecord ruby-on-rails rails-activerecord ruby-on-rails-5

10
推荐指数
3
解决办法
2840
查看次数

我应该在迁移中将jsonb默认为"{}"还是{}

在我阅读的关于在迁移中添加Postgres数据类型的稀缺指令jsonb中,它看起来像这样:

create_table :ref_check_ins do |t|
  t.jsonb :document, null: false, default: '{}'
  t.index :document, using: :gin
end
Run Code Online (Sandbox Code Playgroud)

但有没有理由反对默认为字符串的Hash intead,即{}而不是'{}'

将其定义为String类型时,该列的类:

String < Object
Run Code Online (Sandbox Code Playgroud)

将其定义为Hash类型时,该列的类:

Hash
Run Code Online (Sandbox Code Playgroud)

postgresql ruby-on-rails jsonb ruby-on-rails-5

10
推荐指数
1
解决办法
2423
查看次数

选择关系不为空的记录

我在Product和ProductCategory之间有一对多的关系.

如何查询至少有一个与之关联的产品的所有产品类别?

class Product < ActiveRecord::Base
  belongs_to  :product_category
end

class ProductCategory < ActiveRecord::Base
  has_many :products
end
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails ruby-on-rails-3

9
推荐指数
1
解决办法
6385
查看次数

使用 useState 存储来自 useQuery 的数据

我正在使用 React 钩子来获取 GraphQL 数据react-apollo并存储本地状态:

const [userData, setUserData] = useState({})
const { loading, error, data } = useQuery(USER_QUERY)
Run Code Online (Sandbox Code Playgroud)

但是,我想知道如何存储datauserData. 这是它应该如何工作:

useEffect(() => {
  setUserData(data)
}, [Object.entries(data).length])
Run Code Online (Sandbox Code Playgroud)

javascript reactjs graphql react-apollo react-hooks

9
推荐指数
2
解决办法
5976
查看次数

访问 BrowseRouter 的基名

我正在设置这样的基本名称路径

<BrowserRouter basename="/calendar"/>
Run Code Online (Sandbox Code Playgroud)

是否可以通过 React Router 以某种方式访问​​任何应用程序组件中的 basename 属性?否则我需要解析 Location 对象。

我看过那个history物体,但在那里找不到。

reactjs react-router react-router-v4

8
推荐指数
1
解决办法
1629
查看次数

运行单系统测试

要在Rails中运行单个测试,我们通常会这样做:

rails test TEST=test/system/invitation_test.rb
Run Code Online (Sandbox Code Playgroud)

但这不适用于系统测试.这也不起作用:

rails test:system TEST=test/system/invitation_test.rb
Run Code Online (Sandbox Code Playgroud)

使用上述两个命令,运行所有系统测试(文件).

所以我的问题是,如何运行单一系统测试?


作为旁注,要在Rails中运行(所有)系统测试,您需要附加 :systemtest.

rails test:system
Run Code Online (Sandbox Code Playgroud)

testing ruby-on-rails system-testing ruby-on-rails-5 ruby-on-rails-5.1

7
推荐指数
1
解决办法
1621
查看次数