我正在尝试创建一个简单的薪水计算器。我已经分配了大部分变量用于计算,如下所示:
@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"]
等等。
感谢任何建议或指导,或者我需要提供更多信息。
感谢。
答案 0 :(得分:3)
当您需要访问任何嵌套参数时,例如
a:
b:
c: "hello"
然后参数[:a] [:b] [:c] 会给你输出&#34;你好&#34;。
在您的情况下, params [:state] [:abbr] 将完成这项工作。