0

バックグラウンド:

  1. リストと呼ばれるモデルにマップされた form_for があります。
  2. リストには属性があります: name、id、receiver_id、assigner_id。
  3. ユーザー(またはリストの割り当て者)がリストの受信者を選択できるようにしたい。
  4. 譲渡人に受信者のIDではなくメールを入力してもらいたいです。

問題:

  1. フォームを使用して電子メール アドレスを受信し、その電子メール アドレスを使用して「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 %>
4

2 に答える 2

0

ユーザーが新しいリストを作成し、彼を割り当て担当者にします。その創造過程には受け手もいるはずです。私はこれを正しく理解しましたか?

受信者は、可能な受信者のリストから選択する必要があると思います(おそらく選択ボックスですか?これは、可能な受信者の数によって異なりますが、そこに1000人以上のユーザーをリストしたくないでしょう-多くのユーザーがいる場合ユーザーがいくつかの文字を入力したときの ajax 検索)

次に、割り当て担当者がユーザーを選択し (対応idする値を使用)、すべて問題ありません。

于 2011-10-02T19:43:49.733 に答える
-1

私の質問に対する答えは「仮想属性...」です。

于 2011-10-28T01:31:24.130 に答える