0

Rails では、rails3-jquery-autocompletegem を使用してphotos#editフォームのユーザー名の所有者をオートコンプリートしています。私は現在このコードを持っています

= f.autocomplete_field :user_id, autocomplete_user_username_photos_path

これは正常にオートコンプリートされますが、デフォルト値は2(現在の user_id です) であり、オブジェクトを保存しようとすると、そのユーザー名の ID ではなくユーザー名を送信しようとします。

関係はすでに完了しているため、id の代わりにユーザー名をフィールドに表示し、保存時に id に変換する簡単な方法はありますか?

4

1 に答える 1

1

私の知る限り、rails3-jquery-autocompleteで何かを表示して別の情報を送信することはできません。前回試したときは、独自の ajax オートコンプリートを実行することになりました。

ただし、写真を保存する前に、そのままにして、ユーザー名でユーザーを取得することができます。追加のデータベース リクエストが必要になりますが、うまくいきます。

コントローラーで:

@photo.user = User.where(:username => params[:username]).first # not sure if you need .first here
@photo.save
于 2012-05-22T21:02:48.460 に答える