我花了最后几个小时慢慢失去理智,同时试图解决问题。我在rails中提交表单,一切正常,直到我尝试访问params。在控制台中,我可以看到以下内容:
Parameters: {"authenticity_token"=>"3mdEW2lHhkzpZbDsJCu8ZEV/wbq2YB/ztNR0RLTMZDs=", "utf8"=>"✓", "project"=>{"name"=>"woeij", "client"=>"iwej", "description"=>"oiejdoiew woeij"}, "id"=>"13"}
正如您所看到的,我正在发送姓名,客户,说明和身份证明。我可以通过以下方式访问ID:
@id = params[:id]
然而,当我尝试以相同的方式访问名称,客户端或描述时,它们都是空的。 如果我这样做:
@project = params[:project]
我明白了:
namewoeijclientiwejdescriptionoiejdoiew woeij
有人会介意解释我做错了什么吗?为什么我不能在我做的时候得到“woeij”:
@name = params[:name]
抱歉这个愚蠢的问题,一如既往地非常感谢。
答案 0 :(得分:8)
属性是嵌套的,执行
params[:project][:name]
检索名称。
rails控制台中一个非常酷的工具是y
:如果你输入y params
,它们会很好地展示。
答案 1 :(得分:3)
哈希中有哈希值。你做完之后:
@project = params[:project]
您在该哈希中包含所有项目参数。您可以这样选择它们:
@project[:name] #=> "woeij"
@project[:client] #=> "iwej"
你也可以一次选择它们:
params[:project][:description] #=> "oiejdoiew woeij"