在没有数据库的情况下,在Ruby on Rails网站上将值从一个网页带到另一个网页

时间:2013-08-10 00:32:36

标签: mysql ruby-on-rails ruby

摘要

我正在尝试将一个网页上的值带到我的Ruby on Rails网站上的另一个网页,而不是第二次将其保存到我的MySQL数据库中。我是Ruby的新手,所以提前感谢您的耐心等待。

概述

我的网站用户可以保存他们创建的地图。现在,我希望他们能够编辑地图。

我有一个网页newmaps.html.erb,用于渲染地图。地图有一个唯一的ID:

    <%= newsavedmap.id %>

地图下方有一个“编辑”按钮。当用户点击“编辑”时,我希望他被带到另一个网页maptry.html.erb,这个网页实际上是一个允许用户编辑地图的表单。

问题

我希望将特定的newsavedmap.id转移到maptry.html.erb,以便我可以使用newsavedmap.startingaddress,newsavedmap.endingaddress以及与该记录关联的所有其他数据加载表单。

我想我应该使用“POST”,但我不确定在这种情况下如何做到这一点。这个链接给了我一些想法,但我的表单不是Rails表单,所以我不确定如何将它转换成我自己的解决方案:Pass a custom _form text field parameter to a second page Rails

maptry.html.erb

    <div id="control_panel">
    <div>
    <input id="startingaddress" type="text" name="starthere" size="56"></p>
    </div>
    <div>
    <input id="endingaddress" type="text" name="endhere" size="56"></p>
    </div>
    <div>    
        <input onclick="calcRoute();" id="showmapview" value="Show Map">
    </div>   
    </div>

1 个答案:

答案 0 :(得分:0)

好的,经过一夜的研究,我能够汇集一些不同的资源,帮助我找到答案。最有用的答案如下:pass parameter by link_to ruby on railsPass Variable between Views in Rails

我学会了如何使用link_to将参数从一个视图传递到另一个视图(一个网页传递到另一个视图,传递给用户)。我是这样做的:

<强> newmaps.html.erb

    <%= link_to 'Edit', maptry_path(:newsavedmap_id => newsavedmap.id) %>

上面的代码使用锚文本“编辑”并将用户链接到maptry.html.erb视图。它还带来了newsavedmap_id。然后,我更新了maptry_controller

<强> maptry_controller.rb

    @newsavedmap = Newsavedmap.find(params[:newsavedmap_id])

有了这个,我可以通过插入@newavedmap.WHATEVER来添加我想要的地图中的任何信息。见下文。我还在隐藏字段中添加了params [:newsavedmap_id],以防必要。

<强> maptry.html.erb

    <input name="newsavedmapid" type="hidden" value="<%= params[:newsavedmap_id] %>" />  
    <input id="start" type="text" name="starthere" size="56" value="<%= @newsavedmap.start%>"></p>

可能,这不是最好或唯一的解决方案,但就像我说的,我对Rails很新。我感谢人们有任何其他答案,所以我可以继续学习。谢谢!