在过去的 10 个小时里,我一直在尝试这样做,但毫无用处。
例如:
Event.where(login_screen: Time.now-8.days ..Time.now)
我有一个事件表,login_screen
是列名之一。我将它们列在下拉菜单中,我想将事件名称作为变量。它在这样的请求参数中:params[:segmentation][:first_event]
。当我试着给它时:
Event.where(params[:segmentation][:first_event] Time.now-8.days ..Time.now)
……没用。我尝试使用 to_sym
但这也没有帮助。
如何将变量用作符号?
另一个问题:
:hello
和 hello:
有什么区别?
最佳答案
它是用符号作为键的 ruby 散列的替代语法
Event.where(login_screen: Time.now-8.days ..Time.now)
与
相同Event.where(:login_screen => Time.now-8.days ..Time.now)
因此,如果您将 key 存储在变量中,则需要使用“hash rocket”语法:
Event.where(params[:segmentation][:first_event] => Time.now-8.days ..Time.now)
关于ruby-on-rails - rails : Use a variable as a hash key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25448363/