在Rails中,我使用rails3-jquery-autocomplete
gem在photos#edit
表单上自动填充用户名所有者。我目前有这个代码
= f.autocomplete_field :user_id, autocomplete_user_username_photos_path
自动填充功能正常,但默认值为2
(这是当前的user_id),当我尝试保存对象时,它会尝试发送用户名而不是该用户名的id。
是否有一种简单的方法可以在字段中显示用户名而不是id,因为关系已经完成并在保存时转换为id?
答案 0 :(得分:1)
据我所知,您无法显示某些内容并使用 rails3-jquery-autocomplete 发送其他信息。我最后一次尝试,我最终做了自己的ajax自动完成。
但是,您可以保留原样,只需在保存照片之前通过用户名获取用户。它将花费你额外的数据库请求,但它可以解决问题。
在您的控制器中:
@photo.user = User.where(:username => params[:username]).first # not sure if you need .first here
@photo.save