简体   繁体   English

Rails从其他视图控制器访问实例变量

[英]Rails accessing an instance variable from a different view controller

im having trouble with my application and i've exhausted all my attempts to get a solution. 即时通讯在我的应用程序上遇到了麻烦,我已经竭尽全力来寻求解决方案。 My problem is: i have a controller with an instance variable called compositions and i have another controller for my static pages and i want to pass compositions variable to my index. 我的问题是:我有一个带有实例变量的控件,称为“ compositions”,我还有另一个用于静态页面的控制器,我想将compositions变量传递给我的索引。 How can i do it? 我该怎么做?

Heroku Error Heroku错误

 2017-01-30T03:37:03.434514+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] ActionView::Template::Error (undefined method `each' for nil:NilClass): 2017-01-30T03:37:03.435598+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 16: 2017-01-30T03:37:03.435601+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 17: <div class="panel-container"> 2017-01-30T03:37:03.435602+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 18: 2017-01-30T03:37:03.435603+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 19: <% @compositions.each do |composition| %> 2017-01-30T03:37:03.435604+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 20: <div class="panel player"> 2017-01-30T03:37:03.435604+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 21: <div class="panel-top player-top"> 2017-01-30T03:37:03.435605+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 22: <div class="row"> 2017-01-30T03:37:03.435633+00:00 app[web.1]: [14a3c747-4c38-4392-b5d4-63bc0379b7e5] 

compositions_controller.rb composition_controller.rb

def index
  @compositions = Composition.all.order('created_at desc')
end

static_pages/index.html.erb static_pages / index.html.erb

<div class="panel-container">
<% @compositions.limit(4).each do |composition| %>
  <div class="panel player">
    <div class="panel-top player-top">
      <div class="row">
        <p class="panel-title"><%= composition.title %></p><span class="icon-dots-three-horizontal"></span>
      </div>
      <div class="row user-details">
        <p>Projeto por <%= composition.user.username %></p><a href="#" class="ui-btn btn-small"><span class="icon-export"></span>visitar
        perfil</a>
      </div>
    </div>
    <div class="panel-bottom player-controls">
      <div class="row">
        <div class="col30">
          <p><span class="icon-controller-play"></span><%= composition.plays %></p>
          <p><span class="icon-note"></span>230</p>
        </div>
        <div class="col30"><span class="controllers"><span class="icon-controller-play"></span>
            <p>2:15 / 430</p></span></div>
        <div class="col30">
          <p><span class="icon-chat"></span>23</p>
        </div>
      </div>
    </div>
  </div>

只需在您的@compositions static_pages_controller#index再次定义@compositions

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM