摘要
我正在尝试将一个网页上的值带到我的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>
答案 0 :(得分:0)
好的,经过一夜的研究,我能够汇集一些不同的资源,帮助我找到答案。最有用的答案如下:pass parameter by link_to ruby on rails和Pass 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很新。我感谢人们有任何其他答案,所以我可以继续学习。谢谢!