百宝箱三 18.1 表格是否加@

写表格的时候,突然想到,这里已经用@点名导出registration的表格了,所以表格本体里面的字段就不要再在前面加@了呢!

多练习真的会越来越懂

然后是自己写new以及edit 啧啧啧又开始要思考了...

如果new的页面这样写


就会报错


实验了一会儿感觉这次code应该写的八九不离十

结果还是报错,估计就是因为nil导致,所以就先写了玩儿吧 等数据进来就不报错了,或者金手指去后台加个数值之类的

挣扎着把@registration给去掉后,能进行下一步,但马上又被卡住

很明显,这status的代码没写对

等一下,估计是因为我没写好controller,所以导致nil的?!

这过于简化了吧?!status等各种value都没有设定,不报错nil才怪呢!

英勇的改成了

这样还是同样的报错信息...Orz

然后我尝试去掉


<%= f.label :status %> <%= f.select :status, @registration.status.map{ |s| [s.name, s.id] }, {}, :class => "form-control" %>
<%= f.label :ticket_id %> <%= f.select :ticket_id, tickets.map{ |t| [t.name, t.id] }, {}, :class => "form-control" %>

这两段,并且去controller添加了new的定义

@registration = Registration.new

就是变成

还改了create的部分代码,去掉了 @registration.new(registration_params)
变成

就能正常显示剩下的部分了...是个突破口!

乘胜追击,把view代码改成

<%= f.label :status %> <%= f.select :status, @event.status.map{ |s| [s.name, s.id] }, {}, :class => "form-control" %>

后报错的内容改变了

看来有戏

去掉被报错的

<%= f.label :status %> <%= f.select :status, @event.status.map{ |s| [s.name, s.id] }, {}, :class => "form-control" %>

剩下的内容能全部正确显示!只要解决status的正确写法就完事儿啦~~~

想到tickets能正常运作,但是status不行,会不会是因为两者的数值类别不同,比如tickets数值是integer 而status则是 string导致?!改个格式估计能有救

参考教程

还是报错耶...也对教程里面的也是 integer 数值呢...

那就再参考这个

改成

<%= f.label :status %> <%= f.select :status, Event::STATUS.map{ |s| [t(s, :scope => "event.status"), s] }, {}, :class => "form-control" %>

成功!!!撒花!!!

啊啊啊! 等等!不对!调错资料,不是 Event::STATUS 而应该是Registration::STATUS 这下才真的没错了

搞定!去睡觉!

不对!!!还有一个地方要从event 改成 registration

不要逃避 正面刚问题的话 一小时内就解决了哈哈哈!!

你可能感兴趣的:(百宝箱三 18.1 表格是否加@)