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

多练习真的会越来越懂
然后是自己写new以及edit 啧啧啧又开始要思考了...
如果new的页面这样写

就会报错

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

结果还是报错,估计就是因为nil导致,所以就先写了玩儿吧 等数据进来就不报错了,或者金手指去后台加个数值之类的
挣扎着把@registration
给去掉后,能进行下一步,但马上又被卡住


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

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

这样还是同样的报错信息...Orz
然后我尝试去掉
<div class="form-group">
<%= f.label :status %>
<%= f.select :status, @registration.status.map{ |s| [s.name, s.id] }, {}, :class => "form-control" %>
</div>
<div class="form-group">
<%= f.label :ticket_id %>
<%= f.select :ticket_id, tickets.map{ |t| [t.name, t.id] }, {}, :class => "form-control" %>
</div>
这两段,并且去controller添加了new的定义
@registration = Registration.new
就是变成

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

就能正常显示剩下的部分了...是个突破口!
乘胜追击,把view代码改成
<div class="form-group">
<%= f.label :status %>
<%= f.select :status, @event.status.map{ |s| [s.name, s.id] }, {}, :class => "form-control" %>
</div>

后报错的内容改变了

看来有戏
去掉被报错的
<div class="form-group">
<%= f.label :status %>
<%= f.select :status, @event.status.map{ |s| [s.name, s.id] }, {}, :class => "form-control" %>
</div>
剩下的内容能全部正确显示!只要解决status的正确写法就完事儿啦~~~
想到tickets能正常运作,但是status不行,会不会是因为两者的数值类别不同,比如tickets数值是integer
而status则是 string
导致?!改个格式估计能有救
参考教程


还是报错耶...也对教程里面的也是 integer
数值呢...
那就再参考这个

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

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

搞定!去睡觉!
不对!!!还有一个地方要从event
改成 registration

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