2011-02-02 87 views
0

我已经花了最后几个小时慢慢地失去了我的想法,而试图找出一些东西。我在rails中提交表单,一切正常,直到我尝试访问params。在控制台中,我可以看到以下内容:无法访问导轨发布数据

Parameters: {"authenticity_token"=>"3mdEW2lHhkzpZbDsJCu8ZEV/wbq2YB/ztNR0RLTMZDs=", "utf8"=>"✓", "project"=>{"name"=>"woeij", "client"=>"iwej", "description"=>"oiejdoiew woeij"}, "id"=>"13"} 

正如您所看到的,我正在发送名称,客户端,说明和ID。我可以像访问ID罚款:

@id = params[:id] 

然而,当我尝试在他们都空以同样的方式来访问的名称,客户端,或说明。 如果我做的:

@project = params[:project] 

我得到:

namewoeijclientiwejdescriptionoiejdoiew woeij 

会有人心中解释什么,我做错了什么?为什么我不能只是得到“woeij”当我这样做:

@name = params[:name] 

对不起,愚蠢的问题,非常感谢一如既往。

回答

8

属性是嵌套的,做

params[:project][:name] 

检索名称。

在滑轨控制台中的一个非常酷的工具是y:如果你输入y params他们会很好地呈现。

3

你有散列里面的散列。在你做之后:

@project = params[:project] 

你有你所有的项目参数里面的散列。您可以这样选择它们:

@project[:name] #=> "woeij" 
@project[:client] #=> "iwej" 

您也可以一次性选择它们是这样的:

params[:project][:description] #=> "oiejdoiew woeij"