Ruby on rails 如何在ruby中获取行数据的特定列

Ruby on rails 如何在ruby中获取行数据的特定列,ruby-on-rails,Ruby On Rails,我们知道,在ruby on rails中,为了将数据从控制器页面获取到视图页面,我们使用以下方法: In controllers page: def create @user_profession=Profession.where(:UserID => current_user.id) end 而@user\u profession持有表格数据并从控制器获取数据 <% @user_profession.each do |user_pro| %> <% if

我们知道,在ruby on rails中,为了将数据从控制器页面获取到视图页面,我们使用以下方法:

In controllers page:
def create
   @user_profession=Profession.where(:UserID => current_user.id)
end
@user\u profession
持有表格数据并从控制器获取数据

<% @user_profession.each do |user_pro| %>
    <% if user_pro.column_name.first.nil? %>
<% end %>
请建议我,等待你的答复。
谢谢

首先,您必须使用正确的Rails术语才能理解它的工作原理:

“列”是
属性
,“行”是
记录
。这是非常重要的 这一点很重要,因为它是Rails框架的基础——每次从DB检索数据时,实际上都在构建一个
对象
,它允许您从视图或控制器调用该对象的任何属性

Rails本质上创建一个属性,并为对象的每个属性附加一系列属性。然后,您可以在每次访问变量时调用这些实例方法:

@variable = Model.find(1)
@variable.attribute_1 #-> outputs column data for column name "attribute_1"
要直接回答您的问题,您需要调用列名本身:

@user_profession.first.attr.nil?

这里的列名是什么?此列是否存在于DB“Isprivate”中?这是我的列名。您应该像这样使用它
Pavan。它检查此列的所有值,我想检查第一个值是否表示此列的第一行值为零?在控制器中按如下方式给出它:
@user\u profession=profession.where(:UserID=>current\u user.id)。first
@user_profession.first.attr.nil?