2014-10-28 140 views
1

下面的代码在数据库记录中创建一个新项目。它需要诸如job_location和project_title,contact_person之类的参数。ruby​​ on rails为表创建新记录

def new 
    @project = Project.new 

    respond_to do |format| 
     format.html # new.html.erb 
     format.json { render json: @project } 
    end 
    end 

现在我想的job_location的经度和纬度使用其他网络的服务转换(输入地址,出把一对数字),并存储到数据库中。转换部分完成。

我应该在哪里添加代码以将此地址转换为数字并存储在数据库中?

我曾尝试添加

@project.update_attributes(lat: 10 ,lng: 11) 

在新功能的结束,但不起作用。

我不知道如何检索数据(只是通过用户输入的)

不知道如何把转换后的数据到数据库中。

哪里和哪些代码应该添加到实现呢?

+0

尝试追加转换代码创建行动像'params [:project] [:job_location] =#您的转换代码在这里' – anusha 2014-10-28 04:34:44

+0

我发现add @ project.update_attributes(lat:10,lng:11)新会更新数据库〜 – Orz 2014-10-28 04:39:03

+0

它工作吗?你的项目表中是否有lat和lng属性 – anusha 2014-10-28 04:44:53

回答

1

我认为你应该使用Migration到LAT和LNG添加到数据库。

如果你不能改变你的数据库,也许你只是转换LATLNG到您的结构,然后将其保存到数据库中。

+0

数据库部分没有问题,可以随时更改。如何详细使用struct?我是ror的新手 – Orz 2014-10-28 04:36:54

+0

这里没有什么神奇的,我的意思是您应该将_lat_和_lng_转换为数据结构,然后将其保存到数据库中的现有列。 如何将数据添加到不存在的列! 你知道如何使用Migration将列添加到数据库吗? – haitran 2014-10-28 04:41:07