Ruby on Rails从嵌套参数

时间:2017-04-18 21:42:59

标签: ruby-on-rails

我正在尝试创建一个简单的薪水计算器。我已经分配了大部分变量用于计算,如下所示:         @hours = params[:hours].to_i 我为州创建了一个模型,并创建了一个下拉框:         <%= collection_select(:state, :abbr, State.all, :abbr, :abbr) %> 这看起来像我想要的那样。我遇到的问题是将选定的状态分配给变量。下面是debug(params):

--- !ruby/object:ActionController::Parameters
parameters: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
  utf8: "✓"
  hours: '80'
  rate: '15'
  allowances: '1'
  marital_status: S
  pay_period: '1'
  state: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
    abbr: AL
  commit: Submit
  controller: calc_page
  action: home
permitted: false

我不知道这是语法错误还是我完全遗漏了一些东西。我试过了:     @state = params[:state["abbr"]]     @state = params[:state]["abbr"] 等等。

感谢任何建议或指导,或者我需要提供更多信息。

感谢。

1 个答案:

答案 0 :(得分:3)

当您需要访问任何嵌套参数时,例如

a:
 b:
  c: "hello"

然后参数[:a] [:b] [:c] 会给你输出&#34;你好&#34;。

在您的情况下, params [:state] [:abbr] 将完成这项工作。