Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ActionView::Template::错误:仅在live server上未定义方法_Ruby On Rails - Fatal编程技术网

Ruby on rails ActionView::Template::错误:仅在live server上未定义方法

Ruby on rails ActionView::Template::错误:仅在live server上未定义方法,ruby-on-rails,Ruby On Rails,RubyonRails的问题有点棘手,因为代码在本地运行良好,但在我将其推送到实时服务器上时就不行了 我已经使用迁移将一些int列添加到表中,并有一些复选框来确定特定状态的项是否显示在特定页面上,例如: status\page myitems featureditems saleitems status1 X x x status2 x x 这在本地开发环境中运行良好,但当我将代码推送

RubyonRails的问题有点棘手,因为代码在本地运行良好,但在我将其推送到实时服务器上时就不行了

我已经使用迁移将一些int列添加到表中,并有一些复选框来确定特定状态的项是否显示在特定页面上,例如:

status\page myitems   featureditems   saleitems
status1        X           x             x    
status2        x           x 
这在本地开发环境中运行良好,但当我将代码推送到live server时,“添加新功能”页面无法加载,出现以下错误:

Started GET "/admin/statuses/new" for 86.159.115.236 at 2012-08-19 13:39:12 -0400
Processing by Admin::StatusesController#new as HTML
Rendered shared/_validationerror.html.erb (0.0ms)
Rendered admin/statuses/_form.html.erb (2.1ms)
Rendered admin/statuses/new.html.erb within layouts/application (2.2ms)
Completed 500 Internal Server Error in 4ms

ActionView::Template::Error (undefined method `show_my_items' for #<Status:0xb6c1690>):
20:       </tr>
21: 
22:       <tr>
23:         <td align="center"><%= f.check_box :show_my_items  %></td>
24:         <td align="center"><%= f.check_box :show_latest_items  %></td>
25:         <td align="center"><%= f.check_box :show_featured_items  %></td>
26:         <td align="center"><%= f.check_box :show_search_results  %></td>
app/views/admin/statuses/_form.html.erb:23:in `block in    
_app_views_admin_statuses__form_html_erb__566719799_79558060'
app/views/admin/statuses/_form.html.erb:1:in   
`_app_views_admin_statuses__form_html_erb__566719799_79558060'
app/views/admin/statuses/new.html.erb:7:in 
`_app_views_admin_statuses_new_html_erb__880262090_94647510'
app/controllers/admin/statuses_controller.rb:31:in `new'
2012-08-19 13:39:12-0400:86.159.115.236的开始获取“/admin/statuses/new” 管理员处理::状态控制器#新为HTML 呈现共享/_validationerror.html.erb(0.0ms) 呈现的管理员/statuses/_form.html.erb(2.1ms) 布局/应用程序中呈现的admin/statuses/new.html.erb(2.2ms) 在4ms内完成500个内部服务器错误 ActionView::Template::Error(针对#的未定义方法'show_my_items'): 20: 21: 22: 23: 24: 25: 26: app/views/admin/statuses/_form.html.erb:23:in`block in _应用程序视图管理状态表单html erb 566719799 79558060' app/views/admin/statuses/_-form.html.erb:1:in `_应用程序视图管理状态表单html erb 566719799 79558060' app/views/admin/statuses/new.html.erb:7:in `_应用程序\查看\管理\状态\新建\ html \ erb \ 880262090\ 94647510' app/controllers/admin/statuses\u controller.rb:31:in'new' 在本例中,“show_my_items”是附加到状态的字段之一(由第1页表示)

此外,在live上,我可以使用复选框编辑状态(但它是int数据类型…),但在live上,虽然我可以查看编辑页面并提交而不出错,但它实际上不会更新字段

所以列存在于数据库中,代码与我在live上的代码相同,但错误只发生在live服务器上。两个平台上的Rails版本相同(3.1.0.rc8),ruby版本略有不同(本地版本:1.9.2p320,实时版本:1.9.3p194)


不知道发生了什么…

请确定,您是否在生产模式下在服务器上运行迁移

$ RAILS_ENV=production rake db:migrate

请确定,您是否在生产模式下在服务器上运行迁移

$ RAILS_ENV=production rake db:migrate

问题似乎是乘客没有正确启动。要么比我想象的时间长,要么出了问题,但重新启动乘客后,它工作正常。

问题似乎是乘客没有正确启动。要么比我想象的要长,要么是出了问题,但重新启动passenger后,它运行得很好。

好吧……我确实在开发模式下运行了它,然后在生产模式下重新运行:
$export RAILS\u ENV=production
-所以我检查了代码,所有代码似乎都正常,并且列都存在于数据库中。这一切都很奇怪。嗯……我最初确实在开发模式下运行了它,然后在生产模式下重新运行:
$export RAILS\u ENV=production
——因此我检查了代码,所有的代码看起来都是有序的,并且列存在于数据库中。这一切都很奇怪。