Ruby on rails 3.1 Rails:如何接收非模型表单输入,将其转换为模型属性,然后保存该模型 背景: 我有一个表单映射到一个名为List的模型。 列表具有以下属性:名称、id、接收者id、分配者id。 我希望用户或列表分配者能够选择列表接收者。 我希望分配者输入电子邮件,而不是接收者的id。 问题: 我不知道如何使用表单接收电子邮件地址,使用该电子邮件地址运行User.find_by_emailxx.id查询,然后将返回的id分配给列表的receiver_id属性。 当前代码: 列表\u conroller.rb 列表\new.html.erb

Ruby on rails 3.1 Rails:如何接收非模型表单输入,将其转换为模型属性,然后保存该模型 背景: 我有一个表单映射到一个名为List的模型。 列表具有以下属性:名称、id、接收者id、分配者id。 我希望用户或列表分配者能够选择列表接收者。 我希望分配者输入电子邮件,而不是接收者的id。 问题: 我不知道如何使用表单接收电子邮件地址,使用该电子邮件地址运行User.find_by_emailxx.id查询,然后将返回的id分配给列表的receiver_id属性。 当前代码: 列表\u conroller.rb 列表\new.html.erb,ruby-on-rails-3.1,form-for,setattribute,Ruby On Rails 3.1,Form For,Setattribute,用户创建新列表,并将其作为分配者。在这个创造过程中,也必须有一个接受者。我做对了吗 我认为应该从可能的接收者列表中选择接收者,或者选择框?这将取决于可能的接收者的数量,但我不想在其中列出1000多个用户-如果有很多用户,当用户键入几个字母时,您可以进行ajax搜索 然后,分配者选择一个具有相应id的用户作为值,一切都应该正常。我的问题的答案是虚拟属性…谢谢Andrei,这会有用的。您是否看到任何可能涉及使用字段“”框的解决方案?比如说?祝贺你解决了这个问题。如果您有能力,请添加更多细节或资源链接

用户创建新列表,并将其作为分配者。在这个创造过程中,也必须有一个接受者。我做对了吗

我认为应该从可能的接收者列表中选择接收者,或者选择框?这将取决于可能的接收者的数量,但我不想在其中列出1000多个用户-如果有很多用户,当用户键入几个字母时,您可以进行ajax搜索


然后,分配者选择一个具有相应id的用户作为值,一切都应该正常。

我的问题的答案是虚拟属性…

谢谢Andrei,这会有用的。您是否看到任何可能涉及使用字段“”框的解决方案?比如说?祝贺你解决了这个问题。如果您有能力,请添加更多细节或资源链接,并确保将您的答案标记为“已接受”,以便其他人可以从您的成功中学习。干杯~
class ListsController < ApplicationController

   before_filter :current_user

   def new
      @list = List.new
   end

   def create
      @list = List.new(params[:list])
      @list.assigner = @current_user
      #@list.receiver = User.find_by_id(:receiver_id)
      @list.save
      redirect_to @list
   end

   def show
      @list = List.find(params[:id])

   end

   def update

@list = List.find(params[:id])
   end

end
<%= form_for @list do |f| %>

    <%= f.label :name, 'Name'%>
    <%= f.text_field :name %>

    <%= f.label :receiver_id, 'Receiver ID'%>  
    **I want this to be the e-mail input, rather than the integer id.**
    <%= f.text_field :receiver_id %><br />

    <%= f.submit :submit %>

<% end %>