gpt4 book ai didi

ruby - Heroku 记录一个 fixnum 而不是一个字符串

转载 作者:太空宇宙 更新时间:2023-11-03 16:41:16 25 4
gpt4 key购买 nike

本地它按预期记录一个字符串,在 Heroku 上它记录一个 fixnum...

用户可以创建愿望并选择他想看音乐会的区域。以便在音乐会符合他的意愿时收到电子邮件。

我的 application_helper.rb 中有一个哈希值作为常量存储

  DEPARTMENTS = {
"01" => "Ain",
"02" => "Aisne",
"03" => "Allier"
#........
}

我在 wanted_concerts_controller.rb 中的创建方法如下所示

def create
@wanted_concert = WantedConcert.new(wanted_concerts_params)
@wanted_concert.user_id = current_user.id
if @wanted_concert.save!
redirect_to wanted_concerts_path, notice: "Ton souhait est bien enregistré"
else
render :new , alert: "Oups recommence!"
end
end

private

def wanted_concerts_params
params.require(:wanted_concert).permit(:department, :user_id)
end

new.html.erb文件中我可以实现我的愿望

<%= simple_form_for(@wanted_concert) do |f| %>
<%= f.input :department, prompt: "Choisi une région", label: false, collection: ApplicationHelper::DEPARTMENTS.map { |k, v| v } %>
<%= f.submit "Valider", class: "btn btn-success" %>
<% end %>

这是我的 index.html.erb 显示愿望的地方 <% @wanted_concerts.each |wanted| %>

    <li> <%= wanted.department %> <%= link_to "Supprimer", wanted_concert_path(wanted), method: :delete %></li>
<% end %>

所以在本地,如果我选择例如 Ain索引显示 Ain

如果选择 Ain,则在 Heroku 上它显示0

所以在 Heroku 控制台上我做了:

irb(main):004:0> c = WantedConcert.last
D, [2018-03-04T13:31:54.314672 #4] DEBUG -- : WantedConcert Load (1.3ms) SELECT "wanted_concerts".* FROM "wanted_concerts" ORDER BY "wanted_concerts"."id" DESC LIMIT $1 [["LIMIT", 1]]
=> #<WantedConcert id: 21, department: 0, user_id: 1, created_at: "2018-03-04 13:02:16", updated_at: "2018-03-04 13:02:16">
irb(main):005:0> c.department.class
=> Integer
irb(main):006:0>

最佳答案

我找到了帮助。我犯了一个顽皮的错误,我在旧迁移中重命名了一个字段,而不是在新迁移中重命名....所以这可能会帮助遇到错误的人......

关于ruby - Heroku 记录一个 fixnum 而不是一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49095988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com