Ruby on rails Rails-控制器变量仅在生产视图中为零。在当地效果很好

Ruby on rails Rails-控制器变量仅在生产视图中为零。在当地效果很好,ruby-on-rails,production-environment,Ruby On Rails,Production Environment,正在尝试导航到domain.com/company\u entites/new。然后点击new操作,并根据new.html.erb视图呈现new表单。这在当地很管用 但是在服务器上-相同的序列错误出现了 通过调试,我们看到,对于companyEntityController,没有任何操作将数据集传递给@variables。但不知道为什么 我们更改了变量的名称。我们用常量设置变量(而不是从DB),但变量在视图中显示为nil。注意-这只发生在生产服务器中,但相同的代码在本地运行良好 CompanyE

正在尝试导航到
domain.com/company\u entites/new
。然后点击
new
操作,并根据
new.html.erb
视图呈现
new
表单。这在当地很管用

但是在服务器上-相同的序列错误出现了

通过调试,我们看到,对于
companyEntityController
,没有任何操作将数据集传递给@variables。但不知道为什么

我们更改了变量的名称。我们用常量设置变量(而不是从DB),但变量在视图中显示为
nil
。注意-这只发生在生产服务器中,但相同的代码在本地运行良好

CompanyEntitesController.rb

class CompanyEntitiesController < ApplicationController
  before_filter :authenticate_user!
  before_action :set_company_entity, only: [:show, :edit, :update, :destroy]

  respond_to :html

  def new
   @company_entity = CompanyEntity.new
   respond_with(@company_entity)
  end
end
编辑

  • 根据@brahmana的建议进行调试
新的

 def new
    @company_entity = CompanyEntity.new
    Rails.logger.debug @company_entity.inspect+"debugging company----------------------------------------"
 end
/app/views/company\u entities/new.html.erb

<section class="content">
<div class="box box-primary">
 <div class="box-header">
   <h3 class="box-title">New Company Entity</h3>
 </div><!-- /.box-header -->

<%= render 'form' %>
   <div class="box-body">
  <%= debug @company_entity %>
 <%= debug "debugging in view ========================== "%>
  <%= form_for(@company_entity) do |f| %>
   <% if @company_entity.errors.any? %>
     <div id="error_explanation">
       <h2><%= pluralize(@company_entity.errors.count, "error") %> prohibited this company_entity from being saved:</h2>

      <ul>
      <% @company_entity.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="form-group">
    <%= f.label :area %><br>
    <%= f.text_field :area , class: "form-control"%>
  </div>
  <div class="form-group">
    <%= f.label :address %><br>
    <%= f.text_field :address , class: "form-control"%>
  </div>
  <div class="form-group">
    <%= f.label :code %><br>
    <%= f.text_field :code , class: "form-control"%>
  </div>
   <div class="form-group">
    <%= f.label :ext %><br>
    <%= f.text_field :ext , class: "form-control"%>
  </div>
  <div class="form-group">
    <%= f.label :type %><br>
    <%= f.collection_select(:type, CompanyEntity.space_types, :first, :last, {prompt: "Select a category"}, {class: "form-control"}) %>
  </div>
  <div class="form-group">
    <%= f.label :city_id %><br>
    <%= f.collection_select(:city_id, City.all, :id, :name, {prompt: "Select a City"}, {class: "form-control"}) %>
  </div>
 </div>  
<div class="box-footer" >
    <%= f.submit "Save", class: "btn btn-primary " %>
  </div>
<% end %>

在日志中调试跟踪

    Started GET "/company_entities/new" for 106.51.225.130 at 2016-03-07 01:41:37 -0500 I,
    [2016-03-07T01:41:37.643152 #19039]  INFO -- : Processing by CompanyEntitiesController#new as HTML I,
    [2016-03-07T01:41:37.668663 #19039]  INFO -- :   Rendered company_entities/_form.html.erb (11.4ms) I,
    [2016-03-07T01:41:37.668962 #19039]  INFO -- :   Rendered company_entities/new.html.erb within layouts/admin_lte_2 (14.7ms)E,
    [2016-03-07T01:41:37.669333 #19039] ERROR -- : Caught exception : ArgumentError : First argument in form cannot contain nil or be empty E,
    [2016-03-07T01:41:37.669407 #19039] ERROR -- : /home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/actionview-4.1.12/lib/action_view/helpers/form_helper.rb:423:in `form_for'
/home/bobdiya/apps/2dotO_staging/releases/20160307064025/app/views/company_entities/_form.html.erb:5:in `_app_views_company_entities__form_html_erb__779177916647948870_62782300'
/home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/actionview-4.1.12/lib/action_view/template.rb:145:in `block in render'
/home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.1.12/lib/active_support/notifications.rb:161:in `instrument'
/home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/actionview-4.1.12/lib/action_view/template.rb:339:in `instrument'I,


    [2016-03-07T01:41:37.670276 #19039]  INFO -- :   Rendered text template (0.0ms)
I, 
   [2016-03-07T01:41:37.670584 #19039]  INFO -- : Completed 500 Internal Server Error in 27ms (Views: 0.7ms)
I, 
   [2016-03-07T01:41:37.790672 #19036]  INFO -- : Started GET "/favicon.ico" for 106.51.225.130 at 2016-03-07 01:41:37 -0500
I, 
   [2016-03-07T01:41:37.806287 #19036]  INFO -- : Processing by ApplicationController#no_route as 
I, 
   [2016-03-07T01:41:37.806478 #19036]  INFO -- :   Parameters: {"unmatched_route"=>"favicon"}
I, 
   [2016-03-07T01:41:37.817066 #19036]  INFO -- :   Rendered application/no_route.html.erb within layouts/admin_lte_2 (3.3ms)
I, 


[2016-03-07T01:41:38.947676 #19036]  INFO -- :   Rendered layouts/_notification.html.erb (5.9ms)
I, [2016-03-07T01:41:38.949171 #19036]  INFO -- :   Rendered layouts/_admin_lte_2_header.html.erb (11.9ms)
I, [2016-03-07T01:41:38.962706 #19036]  INFO -- :   Rendered layouts/_admin_lte_2_sidebar.html.erb (10.3ms)
I, [2016-03-07T01:41:38.973312 #19036]  INFO -- :   Rendered popups/_add_new_contact.html.erb (7.6ms)
I, [2016-03-07T01:41:38.974101 #19036]  INFO -- : Completed 200 OK in 1167ms (Views: 1166.7ms)

注意:我已将
new
重命名为
new1
,并更改了路由首选项,并且在控制器和视图中使用了相同的代码-成功了

在你的新行动中,你不应该需要这样的回应。您是否在生产环境中运行迁移?好的。我会移除;我们正在使用MongoDB。另外-比如对于索引操作-我已经将变量-@company_entities设置为一个简单的字符串
hello
,只需在视图上打印它仍然是
nil
,请发布您的视图以及该索引操作。同时在相关部分发布routes.rb。需要
app/views/company\u entities/new.html.erb
视图和部分
app/views/company\u entities/\u form.html.erb
,这是异常的根源(在应用程序代码中)。在渲染部分之前,在视图中显示几行日志,打印传递给部分的变量,这将澄清问题。@brahmana我已经放置了调试并共享了视图。
    Started GET "/company_entities/new" for 106.51.225.130 at 2016-03-07 01:41:37 -0500 I,
    [2016-03-07T01:41:37.643152 #19039]  INFO -- : Processing by CompanyEntitiesController#new as HTML I,
    [2016-03-07T01:41:37.668663 #19039]  INFO -- :   Rendered company_entities/_form.html.erb (11.4ms) I,
    [2016-03-07T01:41:37.668962 #19039]  INFO -- :   Rendered company_entities/new.html.erb within layouts/admin_lte_2 (14.7ms)E,
    [2016-03-07T01:41:37.669333 #19039] ERROR -- : Caught exception : ArgumentError : First argument in form cannot contain nil or be empty E,
    [2016-03-07T01:41:37.669407 #19039] ERROR -- : /home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/actionview-4.1.12/lib/action_view/helpers/form_helper.rb:423:in `form_for'
/home/bobdiya/apps/2dotO_staging/releases/20160307064025/app/views/company_entities/_form.html.erb:5:in `_app_views_company_entities__form_html_erb__779177916647948870_62782300'
/home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/actionview-4.1.12/lib/action_view/template.rb:145:in `block in render'
/home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/activesupport-4.1.12/lib/active_support/notifications.rb:161:in `instrument'
/home/bobdiya/apps/2dotO_staging/shared/bundle/ruby/2.0.0/gems/actionview-4.1.12/lib/action_view/template.rb:339:in `instrument'I,


    [2016-03-07T01:41:37.670276 #19039]  INFO -- :   Rendered text template (0.0ms)
I, 
   [2016-03-07T01:41:37.670584 #19039]  INFO -- : Completed 500 Internal Server Error in 27ms (Views: 0.7ms)
I, 
   [2016-03-07T01:41:37.790672 #19036]  INFO -- : Started GET "/favicon.ico" for 106.51.225.130 at 2016-03-07 01:41:37 -0500
I, 
   [2016-03-07T01:41:37.806287 #19036]  INFO -- : Processing by ApplicationController#no_route as 
I, 
   [2016-03-07T01:41:37.806478 #19036]  INFO -- :   Parameters: {"unmatched_route"=>"favicon"}
I, 
   [2016-03-07T01:41:37.817066 #19036]  INFO -- :   Rendered application/no_route.html.erb within layouts/admin_lte_2 (3.3ms)
I, 


[2016-03-07T01:41:38.947676 #19036]  INFO -- :   Rendered layouts/_notification.html.erb (5.9ms)
I, [2016-03-07T01:41:38.949171 #19036]  INFO -- :   Rendered layouts/_admin_lte_2_header.html.erb (11.9ms)
I, [2016-03-07T01:41:38.962706 #19036]  INFO -- :   Rendered layouts/_admin_lte_2_sidebar.html.erb (10.3ms)
I, [2016-03-07T01:41:38.973312 #19036]  INFO -- :   Rendered popups/_add_new_contact.html.erb (7.6ms)
I, [2016-03-07T01:41:38.974101 #19036]  INFO -- : Completed 200 OK in 1167ms (Views: 1166.7ms)