Ruby on rails Ruby-如何获得视图中的关联哈希值?
我是ruby新手。现在我正在做一个小项目。但我无法从散列值获取用户数据。这是我的代码-Ruby on rails Ruby-如何获得视图中的关联哈希值?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是ruby新手。现在我正在做一个小项目。但我无法从散列值获取用户数据。这是我的代码- @user = {'name'=>"Chinmay", "email"=>"chixxx@gmail.com", "phone"=>"1234567890", "age"=>30} 在上面的数组中,我尝试在erb文件中获取每个数组 这是代码- Name : <%= @user.name %> Email: <%= @user.email %> Phone: &
@user = {'name'=>"Chinmay", "email"=>"chixxx@gmail.com", "phone"=>"1234567890", "age"=>30}
在上面的数组中,我尝试在erb
文件中获取每个数组
这是代码-
Name : <%= @user.name %>
Email: <%= @user.email %>
Phone: <%= @user.phone %>
Age: <%= @user.age %> Years
名称:
电邮:
电话:
年龄:岁
我在这里得到错误消息:
undefined method `name' for #<Hash:0x5e040d0>
的未定义方法“name”#
请帮帮我。让我知道如何在不使用任何循环的情况下获取哈希值
我再次尝试@user[:name]
那一个也不起作用。空白消息来了
谢谢你的回答 而不是:
Name : <%= @user.name %>
Email: <%= @user.email %>
Phone: <%= @user.phone %>
Age: <%= @user.age %> Years
名称:
电邮:
电话:
年龄:岁
像这样做:
Name : <%= @user['name'] %>
Email: <%= @user["email"] %>
Phone: <%= @user["phone"] %>
Age: <%= @user["age"] %> Years
名称:
电邮:
电话:
年龄:岁
而不是:
Name : <%= @user.name %>
Email: <%= @user.email %>
Phone: <%= @user.phone %>
Age: <%= @user.age %> Years
名称:
电邮:
电话:
年龄:岁
像这样做:
Name : <%= @user['name'] %>
Email: <%= @user["email"] %>
Phone: <%= @user["phone"] %>
Age: <%= @user["age"] %> Years
名称:
电邮:
电话:
年龄:岁
@user
是一个散列,您应该通过键访问值,如下所示:
Name : <%= @user['name'] %>
Email: <%= @user['email'] %>
Phone: <%= @user['phone'] %>
Age: <%= @user['age'] %> Years
名称:
电邮:
电话:
年龄:岁
@user
是一个散列,您应该通过键访问值,如下所示:
Name : <%= @user['name'] %>
Email: <%= @user['email'] %>
Phone: <%= @user['phone'] %>
Age: <%= @user['age'] %> Years
名称:
电邮:
电话:
年龄:岁
访问哈希的正确语法是:
@user['name']
@user['email']
# [...]
访问散列的正确语法是:
@user['name']
@user['email']
# [...]
首先,您所谓的“关联数组”是一个散列(请参阅文档),您可以通过使用每个键作为数组索引来访问其元素
换句话说,你应该写:
Name : <%= @user['name'] %>
Email: <%= @user['email'] %>
Phone: <%= @user['phone'] %>
Age: <%= @user['age'] %> Years
名称:
电邮:
电话:
年龄:岁
首先,您所谓的“关联数组”是一个散列(请参阅文档),您可以使用每个键作为数组索引来访问其元素
换句话说,你应该写:
Name : <%= @user['name'] %>
Email: <%= @user['email'] %>
Phone: <%= @user['phone'] %>
Age: <%= @user['age'] %> Years
名称:
电邮:
电话:
年龄:岁
首先,您的@user
不是数组,而是数组
基本上,散列是一个键值对,在您的输入中,name
是一个键,Chinmay
是一个值,依此类推
每个命名键都是一个符号,您可以使用它访问散列中的值
因此,
是您从哈希中访问名称的方式
这将完成你的工作
Name : <%= @user['name'] %>
Email: <%= @user['email'] %>
Phone: <%= @user['phone'] %>
Age: <%= @user['age'] %> Years
名称:
电邮:
电话:
年龄:岁
首先,您的@user
不是数组,而是数组
基本上,散列是一个键值对,在您的输入中,name
是一个键,Chinmay
是一个值,依此类推
每个命名键都是一个符号,您可以使用它访问散列中的值
因此,
是您从哈希中访问名称的方式
这将完成你的工作
Name : <%= @user['name'] %>
Email: <%= @user['email'] %>
Phone: <%= @user['phone'] %>
Age: <%= @user['age'] %> Years
名称:
电邮:
电话:
年龄:岁
旁注解决方案:另一种方法是使用brilliant:
控制器中的某个位置:
require 'hashie/mash'
@huser = Hashie::Mash.new @user
Name : <%= @huser.name %>
Email: <%= @huser.email %>
Phone: <%= @huser.phone %>
Age: <%= @huser.age %> Years
需要“hashie/mash”
@huser=Hashie::Mash.new@user
姓名:
电邮:
电话:
年龄:岁
这似乎有些过分,但有时确实有帮助。旁注解决方案:另一种方法是使用brilliant:
控制器中的某个位置:
require 'hashie/mash'
@huser = Hashie::Mash.new @user
Name : <%= @huser.name %>
Email: <%= @huser.email %>
Phone: <%= @huser.phone %>
Age: <%= @huser.age %> Years
需要“hashie/mash”
@huser=Hashie::Mash.new@user
姓名:
电邮:
电话:
年龄:岁
这似乎有些过分,但有时确实有帮助。用户是散列,而不是数组
在Ruby中,您可以访问如下哈希属性
@user['property']
Cheers用户是散列,而不是数组
在Ruby中,您可以访问如下哈希属性
@user['property']
干杯
:
带循环的解决方案
:
带循环的解决方案谢谢您的回答。你已经解决了这个问题。但我的想法不同。正如您从错误消息中看到的,这是一个哈希而不是数组。@zauzaj是的,这是一个哈希而不是数组。谢谢你的回答。你已经解决了这个问题。但我的想法不同。正如您从错误消息中看到的,这是一个哈希而不是数组。@zauzaj是的,这是一个哈希而不是数组。感谢您无法加载此类文件--哈希/mashie应将gem添加到Gemfile
,bundle
应重新运行。无法加载此类文件--哈希/mashie应将gem添加到Gemfile
,bundle
应重新运行。