在本地,它按预期记录字符串,在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
在the 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
&lt;%@ wanted_concerts.each do | wanted | %GT;
<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>
答案 0 :(得分:0)
我找到了帮助。 我犯了一个顽皮的错误,我在一个旧的迁移中重命名了一个字段而不是在一个新的.... 所以这可能有助于某人面临一个熟悉的错误......