Rails:如果用户单击URL链接,则自动填充表单字段

时间:2014-02-26 23:45:44

标签: ruby-on-rails

我正在尝试这样做,以便在向某人发送电子邮件后,如果他们点击电子邮件中的链接转到我的rails表单,那么该链接的URL中的某些内容将自动填充表单的一部分他们。

我想要一些美好而简单的东西。我认为它类似于localhost:3000 / form_page?form_field = value但这似乎不起作用。页面加载没有问题,但该字段仍为空。我在这里是正确的轨道还是这样的事情不可能?

更多信息:

在ID为'new_user'的表单中,我有这个字段。

<div class="input email required user_email"><label class="email required control-label" for="user_email"><abbr title="required">*</abbr> Email</label><input class="string email required" id="user_email" name="user[email]" type="email" value=""></div>

3 个答案:

答案 0 :(得分:1)

你确实走得很好,但你必须走得更远。

表单页面由特定控制器的操作处理,在该操作上,您可以访问名为params的变量。在此变量中,您可以检索请求的所有参数:)

为您的例子

class FormController < ApplicationController
  def form_action
    @form_value = params[:form_field]
  end
end

就像我上面所做的那样,你应该将检索到的参数传递给控制器​​动作中的实例变量。然后可以在您的视图中访问此变量!

ERB:

<%= @form_value %>

HAML:

= form_value

将显示结果

答案 1 :(得分:0)

最简单的方法是在您发布的视图中添加此更改:

type="email" value="<%= params[:form_field] %>"

答案 2 :(得分:0)

啊,谢谢你们。我现在就开始工作了。

我把?var = blah放在url中,然后将字段的值设为params [:var],现在自动填充。