如何使用 Ruby on Rails 5 将数据从 URL 提取到表单中
Posted
技术标签:
【中文标题】如何使用 Ruby on Rails 5 将数据从 URL 提取到表单中【英文标题】:How to pull data from URL into form with Ruby on Rails 5 【发布时间】:2017-11-17 12:18:55 【问题描述】:我有一个表格供用户填写以分享设计工作。但是字段与 dribbble.com 非常相似。
我看到一些网站允许用户粘贴自动填写表单的链接。示例可见https://www.uplabs.com/submit
我不需要有关如何执行此操作的确切代码。你能告诉一个方向吗?一些插件,一些例子,...?
示例;从链接填写表单(图像、标题、设计师 ID、描述等)https://dribbble.com/shots/1902343-Subscribe-to-our-newsletters
谢谢!
【问题讨论】:
你的意思是像https://your-url-here/?first_name=john&last_name=smith
这样的东西会在你的表单上填写名字和姓氏输入吗?
嗨@wholevinski 我刚刚用截图编辑了这个问题。谢谢!
我不确定我是否仍然理解......这部分 URL 是否会拉入表单数据? 1902343-Subscribe-to-our-newsletters
@Designer 你想从链接中获取什么样的字段?网站的标题和元标记的描述?
给定 url 的帖子有数据,我想拉它并在我的网站中自动填写表格。可以在uplabs.com/submit 看到一个完美的工作示例
【参考方案1】:
您可以使用 Ajax 调用 Rails 控制器来做到这一点。 创建一个 Rails 控制器,它将从网页标题和元描述中删除。您可以像下面的示例中那样使用机械化。
然后使用 Ajax 调用将粘贴的 url 发送到该 rails 控制器操作并在那里执行报废
$("#url_input").on("paste", function(e)
$.ajax(
url: "/url_data_grabber/grab",
data: $("#url_input").val(),
success: function(result)
$("#title").val(result["title"]);
$("#title").val(result["description"]);
);
);
require 'mechanize'
class UrlGrabberController < ApplicationController
def grab
pasted_url = params.fetch("pasted_url")
page = agent.get(pasted_url)
title = page.title
node = page.at("head meta[name='description']")
description = node["content"]
render json: title: title, description: description
end
end
【讨论】:
以上是关于如何使用 Ruby on Rails 5 将数据从 URL 提取到表单中的主要内容,如果未能解决你的问题,请参考以下文章
如何将 HSQLDB 与 Ruby on Rails 一起使用。
使用 Ruby on Rails 从数据库中的 yaml 序列化字段中获取大小数
如何从 ruby on rails 上的现有远程 oracle 数据库中获取数据