哦,所以请多多包涵......我有一个订单模型和驱动程序的模型。驱动程序有许多预订和预订属于驱动程序。

添加或编辑在预订时,我希望用户能够键入驾驶员的用户名。用户名是为最终用户比给每个驱动器的数独特和更容易。

现在这是怎么了我都做到了:

def create
  if params[:booking][:driver].empty? 
    params[:booking][:driver] = nil 
  else
    @driver = Driver.find(:first, :conditions => { :username => params[:booking][:driver] })
    params[:booking][:driver] = @driver
  end

此代码工作正常提交,但在加载形式时,它示出了对象(例如,#)的参考,我需要它显示的用户名。如何更改<%= f.text_field:驱动%>?在编辑视图中的form_for采取司机的用户名的值

我要对这个正确的方式,或者是有一个死很容易,铁轨的方式做什么,我需要?

有帮助吗?

解决方案

“但在窗体加载时,”你的意思是,当它无法创建或当您正在编辑?可以将您的全部更新,并发布你创建操作请。

PARAMS [:预订] [:驱动程序] = @ driver.username应该用字符串,而不是一个对象来填充你的参数,虽然我不知道这是你真正想做的事。相反,它设置为nil,如果它的空白,让它空白的,零是为什么,也许您所看到的“#”的对象。

你在做什么这里看起来不正确,这可能更有意义,只是与司机的选择框无论如何,这里的字段是driver_id坚持。如果你真的想用一个文本框,然后我会帮你呢?只是第一次发布您的代码。

你见过吗?它应该帮助指导您多一点:

http://railscasts.com/episodes/57-create -model贯通文本字段

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top