バックグラウンド:
- リストと呼ばれるモデルにマップされた form_for があります。
- リストには属性があります: name、id、receiver_id、assigner_id。
- ユーザー(またはリストの割り当て者)がリストの受信者を選択できるようにしたい。
- 譲渡人に受信者のIDではなくメールを入力してもらいたいです。
問題:
- フォームを使用して電子メール アドレスを受信し、その電子メール アドレスを使用して「User.find_by_email(xx).id」クエリを実行し、返された ID をリストの receiver_id 属性に割り当てる方法がわかりません。
現在のコード:
lists_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 %>