我一整天都在阅读rails文档和指南,并且整天尝试使用不同的教程,但似乎没有任何帮助。我目前有一个小应用程序,它有一个停止表,一张公共汽车桌和一个时间表表。时间表是公交车和停靠桌之间丰富的连接。与控制器和视图相比,我明白轨道的db和模型部分。使用轨道中的表单将数据从视图传递到控制器
我的停止表有一个ID字段,一个经度字段和一个纬度字段。
我基本上想要用户输入经度和纬度的值,然后通过匹配用户在停止表中给出经度和纬度来查询并找出停止ID。
达到此目的的最佳方法是什么?在我看来,我可以创建一个表单,让用户输入经度和纬度,我可以将该值存储在某个变量中,然后执行查询。我确切地知道我想做什么,但我不知道如何在rails中做到这一点。我很沮丧,我会很感激任何意见。
我对形式index.html.erb
<%= form_for :welcome do |f| %>
<%= f.label :longitude %><br>
<%= f.text_field :longitude %>
<br>
<br>
<%= f.label :latitude %><br>
<%= f.text_field :latitude %>
<p>
<%= f.submit %>
</p>
<% end %>
我的代码代码控制器
class WelcomeController < ApplicationController
def index
@long = params[:longitude]
@lat = params[:latitude]
end
end
请告诉我,如果我做错了什么?另外我怎么从这里开始?我非常感谢在过去的8个小时里,我一直坚持这一点。
是否需要创建一个名为Location的单独表格?我问的原因是因为我有一个包含不同公交车站名称,经度和纬度的停靠表。因此,当用户输入经度和纬度时,我只需将他们映射到停靠桌上的公交站点。所以在这种情况下,我只需要暂时保存从用户接收到的经度和纬度值。因此,为什么我会创建一个称为位置的新表?对不起,我不是故意批评你,你可能是对的,但我只是想理解推理。 – user1010101 2015-04-06 03:49:44
好吧,我明白你的意思是巴士站是预先填充的,除非你想把它记录在数据库中,否则你不需要用户输入的数据库表,除非你可以使用[active_model](http ://www.rubyinside.com/rails-3-0s-activemodel-how-to-give-ruby-classes-some-activerecord-magic-2937.html) – hagope 2015-04-06 03:55:31
对不起,我不清楚我的问题。但基本上我会预先填充名为Stop的表,其中将有名称,经度和纬度。所以现在当用户输入经度和纬度时,我会根据匹配为他们分配一个停止ID。所以这就是为什么我正在考虑接受用户输入,暂时将它们存储在一个变量中,然后在停止表中进行查询,其中经度= @ long和latitude = @ lat,如果两者匹配,我会返回一个停止ID。如果你能告诉我如何做到这一点,我将非常感激。我知道一旦我克服了我可以加速的基本学习曲线。 – user1010101 2015-04-06 03:59:30