背景:
- 我有一个 form_for 映射到一个名为 List 的模型。
- List 有属性:name、id、receiver_id、assigner_id。
- 我希望用户(或列表分配者)能够选择列表接收者。
- 我希望分配者输入电子邮件,而不是接收者的 ID。
问题:
- 我不知道如何使用表单来接收电子邮件地址,使用该电子邮件地址运行“User.find_by_email(xx).id”查询,然后将返回的 id 分配给列表的 receiver_id 属性。
当前代码:
list_conroller.rb
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
列表\new.html.erb
<%= 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 %>