admin管理员组文章数量:1026989
I saw this warning and decided to fix it.
DEPRECATION WARNING: Defining enums with keyword arguments is deprecated and will be removed in Rails 8.0. Positional arguments should be used instead
Changed my enum as follows:
Before:
enum budget: {
below_100k: "below_100k",
from_100k_to_250k: "from_100k_to_250k",
from_250k_to_500k: "from_250k_to_500k",
from_500k_to_1m: "from_500k_to_1m",
from_1m_to_2500k: "from_1m_to_2500k",
from_2500k_to_5m: "from_2500k_to_5m",
from_5m_to_10m: "from_5m_to_10m",
from_10m_to_20m: "from_10m_to_20m",
from_20m_to_50m: "from_20m_to_50m",
from_50m_to_100m: "from_50m_to_100m",
from_100m_to_250m: "from_100m_to_250m",
from_250m_to_500m: "from_250m_to_500m",
from_500m_to_1b: "from_500m_to_1b",
from_1b_to_2500m: "from_1b_to_2500m",
from_2500m_to_5b: "from_2500m_to_5b",
from_5b_to_10b: "from_5b_to_10b",
above_10b: "above_10b",
}
After:
enum :budget, [
:below_100k,
:from_100k_to_250k,
:from_250k_to_500k,
:from_500k_to_1m,
:from_1m_to_2500k,
:from_2500k_to_5m,
:from_5m_to_10m,
:from_10m_to_20m,
:from_20m_to_50m,
:from_50m_to_100m,
:from_100m_to_250m,
:from_250m_to_500m,
:from_500m_to_1b,
:from_1b_to_2500m,
:from_2500m_to_5b,
:from_5b_to_10b,
:above_10b
]
Then in rails console, I tried:
Organization.create!(budget: "below_100k", name: "r1")
The error:
invalid input value for enum anization_budget: "0"
Here is how the schema looks like:
create_enum "anization_budget",
[
"below_100k", "from_100k_to_250k", "from_250k_to_500k", "from_500k_to_1m", "from_1m_to_2500k",
"from_2500k_to_5m", "from_5m_to_10m", "from_10m_to_20m", "from_20m_to_50m", "from_50m_to_100m",
"from_100m_to_250m", "from_250m_to_500m", "from_500m_to_1b", "from_1b_to_2500m",
"from_2500m_to_5b", "from_5b_to_10b", "above_10b"
]
Here is the postgresql query:
SELECT enumlabel
FROM pg_enum
WHERE enumtypid = (
SELECT oid FROM pg_type WHERE typname = 'anization_budget'
);
enumlabel
-------------------
below_100k
from_100k_to_250k
from_250k_to_500k
from_500k_to_1m
from_1m_to_2500k
from_2500k_to_5m
from_5m_to_10m
from_10m_to_20m
from_20m_to_50m
from_50m_to_100m
from_100m_to_250m
from_250m_to_500m
from_500m_to_1b
from_1b_to_2500m
from_2500m_to_5b
from_5b_to_10b
above_10b
(17 rows)
How do I fix this?
gem "rails", ">= 7.2.2"
I saw this warning and decided to fix it.
DEPRECATION WARNING: Defining enums with keyword arguments is deprecated and will be removed in Rails 8.0. Positional arguments should be used instead
Changed my enum as follows:
Before:
enum budget: {
below_100k: "below_100k",
from_100k_to_250k: "from_100k_to_250k",
from_250k_to_500k: "from_250k_to_500k",
from_500k_to_1m: "from_500k_to_1m",
from_1m_to_2500k: "from_1m_to_2500k",
from_2500k_to_5m: "from_2500k_to_5m",
from_5m_to_10m: "from_5m_to_10m",
from_10m_to_20m: "from_10m_to_20m",
from_20m_to_50m: "from_20m_to_50m",
from_50m_to_100m: "from_50m_to_100m",
from_100m_to_250m: "from_100m_to_250m",
from_250m_to_500m: "from_250m_to_500m",
from_500m_to_1b: "from_500m_to_1b",
from_1b_to_2500m: "from_1b_to_2500m",
from_2500m_to_5b: "from_2500m_to_5b",
from_5b_to_10b: "from_5b_to_10b",
above_10b: "above_10b",
}
After:
enum :budget, [
:below_100k,
:from_100k_to_250k,
:from_250k_to_500k,
:from_500k_to_1m,
:from_1m_to_2500k,
:from_2500k_to_5m,
:from_5m_to_10m,
:from_10m_to_20m,
:from_20m_to_50m,
:from_50m_to_100m,
:from_100m_to_250m,
:from_250m_to_500m,
:from_500m_to_1b,
:from_1b_to_2500m,
:from_2500m_to_5b,
:from_5b_to_10b,
:above_10b
]
Then in rails console, I tried:
Organization.create!(budget: "below_100k", name: "r1")
The error:
invalid input value for enum anization_budget: "0"
Here is how the schema looks like:
create_enum "anization_budget",
[
"below_100k", "from_100k_to_250k", "from_250k_to_500k", "from_500k_to_1m", "from_1m_to_2500k",
"from_2500k_to_5m", "from_5m_to_10m", "from_10m_to_20m", "from_20m_to_50m", "from_50m_to_100m",
"from_100m_to_250m", "from_250m_to_500m", "from_500m_to_1b", "from_1b_to_2500m",
"from_2500m_to_5b", "from_5b_to_10b", "above_10b"
]
Here is the postgresql query:
SELECT enumlabel
FROM pg_enum
WHERE enumtypid = (
SELECT oid FROM pg_type WHERE typname = 'anization_budget'
);
enumlabel
-------------------
below_100k
from_100k_to_250k
from_250k_to_500k
from_500k_to_1m
from_1m_to_2500k
from_2500k_to_5m
from_5m_to_10m
from_10m_to_20m
from_20m_to_50m
from_50m_to_100m
from_100m_to_250m
from_250m_to_500m
from_500m_to_1b
from_1b_to_2500m
from_2500m_to_5b
from_5b_to_10b
above_10b
(17 rows)
How do I fix this?
gem "rails", ">= 7.2.2"
Share
Improve this question
asked Nov 16, 2024 at 1:48
asusasus
1,7595 gold badges30 silver badges67 bronze badges
1 Answer
Reset to default 5This is calling enum
with keyword arguments:
enum symbol: { ... }
# ^^^^^^^keyword
This is calling enum
with positional arguments:
enum :symbol, { ... }
So you want switch to this:
enum :budget, {
below_100k: "below_100k",
from_100k_to_250k: "from_100k_to_250k",
...
}
I saw this warning and decided to fix it.
DEPRECATION WARNING: Defining enums with keyword arguments is deprecated and will be removed in Rails 8.0. Positional arguments should be used instead
Changed my enum as follows:
Before:
enum budget: {
below_100k: "below_100k",
from_100k_to_250k: "from_100k_to_250k",
from_250k_to_500k: "from_250k_to_500k",
from_500k_to_1m: "from_500k_to_1m",
from_1m_to_2500k: "from_1m_to_2500k",
from_2500k_to_5m: "from_2500k_to_5m",
from_5m_to_10m: "from_5m_to_10m",
from_10m_to_20m: "from_10m_to_20m",
from_20m_to_50m: "from_20m_to_50m",
from_50m_to_100m: "from_50m_to_100m",
from_100m_to_250m: "from_100m_to_250m",
from_250m_to_500m: "from_250m_to_500m",
from_500m_to_1b: "from_500m_to_1b",
from_1b_to_2500m: "from_1b_to_2500m",
from_2500m_to_5b: "from_2500m_to_5b",
from_5b_to_10b: "from_5b_to_10b",
above_10b: "above_10b",
}
After:
enum :budget, [
:below_100k,
:from_100k_to_250k,
:from_250k_to_500k,
:from_500k_to_1m,
:from_1m_to_2500k,
:from_2500k_to_5m,
:from_5m_to_10m,
:from_10m_to_20m,
:from_20m_to_50m,
:from_50m_to_100m,
:from_100m_to_250m,
:from_250m_to_500m,
:from_500m_to_1b,
:from_1b_to_2500m,
:from_2500m_to_5b,
:from_5b_to_10b,
:above_10b
]
Then in rails console, I tried:
Organization.create!(budget: "below_100k", name: "r1")
The error:
invalid input value for enum anization_budget: "0"
Here is how the schema looks like:
create_enum "anization_budget",
[
"below_100k", "from_100k_to_250k", "from_250k_to_500k", "from_500k_to_1m", "from_1m_to_2500k",
"from_2500k_to_5m", "from_5m_to_10m", "from_10m_to_20m", "from_20m_to_50m", "from_50m_to_100m",
"from_100m_to_250m", "from_250m_to_500m", "from_500m_to_1b", "from_1b_to_2500m",
"from_2500m_to_5b", "from_5b_to_10b", "above_10b"
]
Here is the postgresql query:
SELECT enumlabel
FROM pg_enum
WHERE enumtypid = (
SELECT oid FROM pg_type WHERE typname = 'anization_budget'
);
enumlabel
-------------------
below_100k
from_100k_to_250k
from_250k_to_500k
from_500k_to_1m
from_1m_to_2500k
from_2500k_to_5m
from_5m_to_10m
from_10m_to_20m
from_20m_to_50m
from_50m_to_100m
from_100m_to_250m
from_250m_to_500m
from_500m_to_1b
from_1b_to_2500m
from_2500m_to_5b
from_5b_to_10b
above_10b
(17 rows)
How do I fix this?
gem "rails", ">= 7.2.2"
I saw this warning and decided to fix it.
DEPRECATION WARNING: Defining enums with keyword arguments is deprecated and will be removed in Rails 8.0. Positional arguments should be used instead
Changed my enum as follows:
Before:
enum budget: {
below_100k: "below_100k",
from_100k_to_250k: "from_100k_to_250k",
from_250k_to_500k: "from_250k_to_500k",
from_500k_to_1m: "from_500k_to_1m",
from_1m_to_2500k: "from_1m_to_2500k",
from_2500k_to_5m: "from_2500k_to_5m",
from_5m_to_10m: "from_5m_to_10m",
from_10m_to_20m: "from_10m_to_20m",
from_20m_to_50m: "from_20m_to_50m",
from_50m_to_100m: "from_50m_to_100m",
from_100m_to_250m: "from_100m_to_250m",
from_250m_to_500m: "from_250m_to_500m",
from_500m_to_1b: "from_500m_to_1b",
from_1b_to_2500m: "from_1b_to_2500m",
from_2500m_to_5b: "from_2500m_to_5b",
from_5b_to_10b: "from_5b_to_10b",
above_10b: "above_10b",
}
After:
enum :budget, [
:below_100k,
:from_100k_to_250k,
:from_250k_to_500k,
:from_500k_to_1m,
:from_1m_to_2500k,
:from_2500k_to_5m,
:from_5m_to_10m,
:from_10m_to_20m,
:from_20m_to_50m,
:from_50m_to_100m,
:from_100m_to_250m,
:from_250m_to_500m,
:from_500m_to_1b,
:from_1b_to_2500m,
:from_2500m_to_5b,
:from_5b_to_10b,
:above_10b
]
Then in rails console, I tried:
Organization.create!(budget: "below_100k", name: "r1")
The error:
invalid input value for enum anization_budget: "0"
Here is how the schema looks like:
create_enum "anization_budget",
[
"below_100k", "from_100k_to_250k", "from_250k_to_500k", "from_500k_to_1m", "from_1m_to_2500k",
"from_2500k_to_5m", "from_5m_to_10m", "from_10m_to_20m", "from_20m_to_50m", "from_50m_to_100m",
"from_100m_to_250m", "from_250m_to_500m", "from_500m_to_1b", "from_1b_to_2500m",
"from_2500m_to_5b", "from_5b_to_10b", "above_10b"
]
Here is the postgresql query:
SELECT enumlabel
FROM pg_enum
WHERE enumtypid = (
SELECT oid FROM pg_type WHERE typname = 'anization_budget'
);
enumlabel
-------------------
below_100k
from_100k_to_250k
from_250k_to_500k
from_500k_to_1m
from_1m_to_2500k
from_2500k_to_5m
from_5m_to_10m
from_10m_to_20m
from_20m_to_50m
from_50m_to_100m
from_100m_to_250m
from_250m_to_500m
from_500m_to_1b
from_1b_to_2500m
from_2500m_to_5b
from_5b_to_10b
above_10b
(17 rows)
How do I fix this?
gem "rails", ">= 7.2.2"
Share
Improve this question
asked Nov 16, 2024 at 1:48
asusasus
1,7595 gold badges30 silver badges67 bronze badges
1 Answer
Reset to default 5This is calling enum
with keyword arguments:
enum symbol: { ... }
# ^^^^^^^keyword
This is calling enum
with positional arguments:
enum :symbol, { ... }
So you want switch to this:
enum :budget, {
below_100k: "below_100k",
from_100k_to_250k: "from_100k_to_250k",
...
}
本文标签: Rails 722Invalid input value for enum using positional argumentsStack Overflow
版权声明:本文标题:Rails 7.2.2 - Invalid input value for enum using positional arguments - Stack Overflow 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/questions/1745668662a2162324.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论