我想通过电子邮件收集反馈。为此,我想在电子邮件中嵌入一个反馈表,用户可以填写并提交。提交后,表单会将数据发布到我可以处理数据的应用程序中。
请建议如何做到这一点,或者我是否可以通过其他任何方式实现这一目标。
注意:我还考虑过在我的应用中嵌入谷歌表单,但我无法弄清楚如何做到这一点。 此外,我的申请是私人的,因此,它不能公开。
答案 0 :(得分:2)
你可以这样做 - 在你的电子邮件正文中写一个html表单,配置为发布到你的rails应用程序的路线。根据您的受众,这可能不是一个好主意。 Many email clients don't display inline forms correctly,并且很难进行客户端验证。如果您无法公开Rails表单,那么链接到Google表单会更好。
答案 1 :(得分:0)
大多数HTML电子邮件客户端都不会向表单显示输入元素(想想你会收到多少垃圾邮件)。
缺点是电子邮件客户端认为电子邮件表单是一个 安全风险。虽然有些电子邮件客户只是警告你有潜力 危险,其他人彻底禁用表格。所以如果你的客户想要 发出表格,他们应该知道他们的大部分收件人都会 永远无法使用它。对于那些能够做到的人,他们会三思而后行 关于在他们看到来自他们的电子邮件客户端的警告时提交数据。
-
根据我的经验,电子邮件只能用作轻松沟通的形式;文字越少越好。图片效果很好。
我想通过电子邮件收集反馈
更好的解决方案是在电子邮件正文中发送一系列链接(作为特定问题的答案)。这样您就可以将用户发送到“反馈”页面,从中您可以从中收集数据。
更好 - 您可以对链接进行编码以传递其name
& email
然后您可以在页面上填充...
#email
<a href="yoururl.com/feedback/new?name=your+name&email=email@email.com">Fill out the form</a>
#app/views/feedback/new.html.erb
<%= form_for @feedback do |f| %>
<%= f.text_field :name, placeholder: "Name", curent_user.name || params[:name] %>
<%= f.email_field :email, placeholder: "Email", current_user.email || params[:email] %>
<% end %>
您可以使用以下控制器和路线进行备份:
#config/routes.rb
resources :feedback
#app/controllers/feedback_controller.rb
class FeedbackController < ApplicationController
def new
@feedback = Feedback.new
end
def create
@feedback = Feedback.new feedback_params
@feedback.save
end
private
def feedback_params
params.require(:feedback).permit(:x, :y, :z)
end
end
这样您就可以将人们发送到new
反馈表单页。
-
如果您希望对电子邮件有更“互动”的感觉,您可以制作一系列链接(在电子邮件正文中),这也会将用户发送到新的feedback
视图:
#email
<h3>Question 3</h3>
<a href="yoururl.com/feedback/new?name=richard&email=peck@email.com&3=a">a</a>
<a href="yoururl.com/feedback/new?name=richard&email=peck@email.com&3=b">b</a>
<a href="yoururl.com/feedback/new?name=richard&email=peck@email.com&3=c">c</a>
<a href="yoururl.com/feedback/new?name=richard&email=peck@email.com&3=d">d</a>
这会产生互动的幻觉,虽然不是交互本身。