Ruby on rails Ruby:#错误:未定义方法'pop';
新手和其他人的代码。这是我们的yamlRuby on rails Ruby:#错误:未定义方法'pop';,ruby-on-rails,ruby,Ruby On Rails,Ruby,新手和其他人的代码。这是我们的yaml current_colleges_for_degrees: cahs: label: 'college one' com: label: 'college two' additional_current_colleges: another: label: 'another College' yet: label: 'yet another' library: label: 'Libraries'
current_colleges_for_degrees:
cahs:
label: 'college one'
com:
label: 'college two'
additional_current_colleges:
another:
label: 'another College'
yet:
label: 'yet another'
library:
label: 'Libraries'
然后我们有一个包含以下内容的帮助文件:
def sorted_college_list_for_generic_works
list = COLLEGE_AND_DEPARTMENT["current_colleges_for_degrees"].merge(
COLLEGE_AND_DEPARTMENT["additional_current_colleges"]
)
list.keys.collect do |k|
list[k]["label"]
end.sort << "Other"
end
def sorted_college_list_for_generic_works
列表=学院和系[“当前学院”用于学位]。合并(
学院和系[“其他现有学院”]
)
list.key.collect do|k|
列表[k][“标签”]
end.sortlist
不是数组,而是散列。哈希没有定义#pop
方法,这就是为什么会出现错误
要从散列中删除项目,可以使用#delete
方法并传递密钥
list.delete("library")
list
不是数组,而是散列。哈希没有定义#pop
方法,这就是为什么会出现错误
要从散列中删除项目,可以使用#delete
方法并传递密钥
list.delete("library")
正如@Jack指出的,您使用的是列表而不是数组。我的问题是,为什么需要删除最后一项?如果你已经知道最后一把钥匙了
我会这样说:
my\u list.delete(my\u list.keys.last)
正如@Jack所指出的,您使用的是列表而不是数组。我的问题是,为什么需要删除最后一项?如果你已经知道最后一把钥匙了
我会这样说:
my\u list.delete(my\u list.keys.last)
你真幸运!还有什么比编写别人的代码更有趣的呢?¯\_(ツ)_/“是啊,糟透了!你不走运!还有什么比编写别人的代码更有趣的呢?”\_(ツ)_/'是的,很糟糕,但当我将其插入上面的代码时,我会得到“字符串与nil的比较失败”OK,但当我将其插入上面的代码时,我会得到“字符串与nil的比较失败”