我已经
<%= f.select(:status, [["active", 0], ["inactive", 1], ['cancelled', 2]]) %>
而最初
<%= f.select(:status, collection: Subscription::STATUSES) %>
但两者都不起作用。
这里是订阅.rb
class Subscription < ApplicationRecord
belongs_to :user
belongs_to :plan
STATUSES = {active: 0, inactive: 1, cancelled: 2}
enum status: STATUSES
end
每次我这样尝试,我得到的是:
private method `select' called for nil:NilClass
每次我尝试遵循指南时,我都会得到另一个失败语法的消息。
这件事让我很头疼,我要留到明天早上。
你可能想看看
<%= form_tag subscription_path, id: "subscription-form" do |f| %>
因此:
match "plans/subscriptions" => "subscriptions#new", as: "subscription", via: [:get, :post]
2条答案
按热度按时间iswrvxsc1#
如果你想在select from
enum => status
中得到值,试试这个或由常数
STATUS
编辑
作为
form_tag
的@spickermann注解,您可以这样使用k3bvogb12#
您在Rails 7中需要的是:
订阅状态是自动设置的,不需要通过以下方式保持不变: