Rails:使用名称填写表单,提交ID

时间:2010-01-11 21:27:51

标签: ruby-on-rails

这很简单,我不太明白。我确信有一种方法可以做到这一点。

创建新评论时,我希望用户能够在字段中输入她的姓名,但让表单提交其姓名的匹配ID(或者抛出错误/创建新人)。

谢谢!

1 个答案:

答案 0 :(得分:0)

有几种方法可以解决这个问题:

  1. 在您的控制器中,将名称拆分为“”并将每个名称保存到变量,然后执行User.find_by_firstname_and_lastname(firstname, lastname)。如果不存在,请告诉用户创建一个。
  2. 让用户输入其姓名的文本字段为AJAXified字段,用于搜索其用户名并让他们选择正确的用户名。如果不存在,您可以立即找出并告诉他们需要创建一个帐户。如果找到一个,它会将隐藏字段的值设置为所选用户的ID。
  3. 选项1非常容易出错,但选项2需要更多工作。老实说,这将是一个很难正确起步的人。如果有两个约翰史密斯,你会怎么做?他们如何知道选择哪一个,如何在后端选择等等。

    我强烈建议根据用户名而不是名字或姓氏来制作。但是,如果您向用户显示您要使用的那个(可能通过显示他们的用户名,电子邮件等),那么它可以工作。