ruby-on-rails - ruby on rails 中的类变量未初始化错误

标签 ruby-on-rails ruby class variables initialization

代码如下:

class MulticastController < ApplicationController
    @@groups=Array.new
    @@groups=[]

    @@group_name=Array.new
    @@group_name=[]

    def getResults
        @@groups
        @@group_name
        if request.post?

             if params[:creategroup] #makes a new group
                  @@groups << searchHash
                  @@group_name << params[:groupname]

                  if @@groups.size>5
                      @@groups[0].delete
                      @@group_name[0].delete
                  end

             end

            if params[:displaygroup] 
                @@group_name.each_with_index do |gr,i|
                if(gr==params[:inputgroupname])
                    @results=Person.where(@@groups[i]).to_a
                    render :new_results, :layout => false
                end
            end
    end

关于我的观点部分-

        <div class="span6 service">
            <legend>Groups</legend>
            <% group_name.each do|grp|%>
                <%= grp %><br>
            <%end %><br><br>
            <input type="hidden" name="displaygroup" value="1">
            <div>
                <input type="text" name="inputgroupname" value="inputgroupname">
            </div>

我不知道该怎么做,它给我一个“ActionView::CompiledTemplates 中未初始化的类变量@@group_name”错误。

我希望变量 group 和 group_name 对所有多播实例都是通用的。卡住了。

最佳答案

尝试

def getResults
        @@groups ||= []
        @@group_name ||= []

代替

def getResults
        @@groups
        @@group_name

运算符 ||= 将初始化您的变量,但前提是它尚未初始化。

请听听 Ivan Shamatov 关于代码风格和模式的评论。

关于ruby-on-rails - ruby on rails 中的类变量未初始化错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16998065/

相关文章:

javascript - 如何在 ruby​​ on Rails 中的 haml 内的 js 设置 session 变量?

ruby - 用 Ruby 实现树

c++ - 访问用户定义类型数组的特定属性

ruby-on-rails - 使用 Redis 作为 Rails 国际化后端

ruby-on-rails - Rails - 推送到 Heroku 时出错 - 没有看到 Gemfile.lock

ruby - Ruby 在 Ubuntu 上需要哪些确切的依赖项?

php - 在 PHP 类中建立变量作用域?

javascript - ES6 super() 在构造函数中实际上做了什么?

javascript - Faye 的奇怪 Angular.js 行为

ruby-on-rails - rails : has_many through not returning correctly with namespaced models