无法在Ruby on Rails的模板中使用foreach循环

时间:2019-05-12 17:42:57

标签: ruby-on-rails ruby ruby-on-rails-5

我想做的就是使用

  

erb选择和foreach循环

创建一个选择菜单(下拉菜单),这些已完成 第1步:创建状态模型,并使用

迁移创建的红宝石文件
  

rails db:migrate

Step2:在@StaticController中包含@state

def index
  @states = State.new
end

然后在视图的最后一步中完成

<%= f.label :state %>
 <% @states.each do |state| %>
 <%= f.select :state, (value:state.states) %>
<% end %>

这是我得到的错误

  

#state id:nil,状态:nil,created_at:nil,updated_at:nil的未定义方法`each'

与此同时,在PGAdmin(Postgre Admin)中插入了一些名称,我可以在PGAdmin中查看它们

1 个答案:

答案 0 :(得分:1)

您犯了两个错误:

  1. 我不认为您想初始化State的新对象,可能想要获取所有状态,在这种情况下,您应该使用State.all;

  2. 您为选择设置选项的方式不正确,请看一下documentation(为select助手传递选项的一种方法是{{ 1}})。