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 回答