【发布时间】:2016-11-02 04:15:38
【问题描述】:
我是 Rails 新手,已阅读有关下拉菜单的文档,但仍在苦苦挣扎。
我有一个数据库如下:
Table "public.lakeaddresses"
Column | Type | Modifiers | Storage | Stats target | Description
---------+-----------------------+-----------+----------+--------------+-------------
address | character varying(40) | | extended | |
city | character varying(25) | | extended | |
state | character varying(20) | | extended | |
zip | integer | | plain | |
county | character varying(25) | | extended | |
lake | character varying(30) | | extended | |
lakeid | integer | | plain | |
我想创建一个填充湖泊名称的下拉列表,即“湖”列
views/map/index.html.erb
<head>
<script src='https://api.mapbox.com/mapbox-gl-js/v0.26.0/mapbox-gl.js'>
</script>
<link href='/home/garrett/lakemag/app/assets/stylesheets/lakemap.css' rel='stylesheet' />
</head>
<body>
<div id='map' style='margin:0 auto; width: 1024px; height: 768px;'>
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoiZ3JhZmZpbmR1c3RyaWVzIiwiYSI6ImNpdXAxY2pycjAxeGoyb251dDY2emNqeXgifQ.YtJkR5Elp-oq3FaMTUlXyw';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/graffindustries/ciursnqrv009u2js5cpedcnsr'
});
</script>
</div>
</br></br>
<center>
<% form_tag(method: "get") do %>
<% lake_array = Lake.all.map { |lake| [lake.name] } %>
<= select_tag 'Lake Name', options_for_select(lake_array) %>
<% end %>
</center>
</body>
控制器/map_controller.rb
def new
@lake = Lake.all
收到错误:
ActionView::Template::Error (uninitialized constant ActionView::CompiledTemplates::Lake
18:
19: <center>
20:
21: <% form_tag(method: "get") do %>
22: <% lake_array = Lake.all.map { |lake| [lake.name] } %>
23: <= select_tag 'Lake Name', options_for_select(lake_array) %>
24: <% end %>
25:
26: </center>
F, [2016-11-02T06:22:04.619269 #7096] FATAL -- : [f4086edc-8de8-4b36-9b81-4a20efbde333] app/views/map/index.html.erb:21:in `_app_views_map_index_html_erb___3432893749292109102_24860500'
【问题讨论】:
-
你能发布你的整个视图文件吗?
-
我已经更新了视图文件。页面上的地图代码工作正常 - 但是一旦我添加了表单的代码,它就会破坏页面。谢谢回复
标签: ruby-on-rails forms activerecord