然后,Ruby 使用 -6ren">
gpt4 book ai didi

ruby-on-rails - 如何覆盖 ruby​​ 中的 [] 括号?

转载 作者:数据小太阳 更新时间:2023-10-29 06:44:47 25 4
gpt4 key购买 nike

我正在使用 Ruby on Rails 使用 collection_select 标签编写 Ajax 请求表单,如下所示:

<%= collection_select("Jobs", "clearance", @allClearances, "clearance", "clearance", {:prompt => "Select a Clearance"} )%>

然后,Ruby 使用 id = "Jobs_clearance"name = "Jobs[clearance]"

构建一个 HTML 选择标签

我想将参数发送到我的 Controller ,如下所示:

class JobsController < ApplicationController
def foo
@clearance = params[:Jobs[clearance]]
end

不幸的是,Ruby 只读取 ":Jobs" 作为符号而不是 ":Jobs[clearance]"
有没有办法逃避 [] 的?反斜杠不起作用。

最佳答案

kmorris 解决了你的问题(很好),但我想回答你的问题:您可以覆盖 [] 和 []= 运算符,因为它们是方法(就像几乎所有东西一样),但是您应该仔细考虑您在做什么,因为您可以破坏很多东西。

class AntiArray < Array

def [](ind)
self.fetch(-ind)
end

end

y = AntiArray.new([1,2,3,4])

y[1]

=> 4

关于ruby-on-rails - 如何覆盖 ruby​​ 中的 [] 括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/971076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com