提取 hstore 键并将其放入数据表中的列
extract hstore key and make it into a column in datatable
我目前正在尝试构建一个 table 以在单独的列中显示用户列表及其属性。
它是这样的:
用户1 | user1 邮箱 | user1 管理员角色 | user1 组织者角色
用户 2 |用户 2 邮箱 | user2 管理员角色 | user2 组织者角色
用户 3 |用户 3 邮箱 | user3 管理员角色 | user3 组织者角色
但是,admin 和 organizer 属性存储在名为 activities 的 hstore 列中。
我建数据的时候table浏览器returns这个错误
DataTables warning: table id=DataTables_Table_0 - Requested unknown
parameter 'activities.organiser' for row 0. For more information about
this error, please see http://datatables.net/tn/4
这是我构建 table 列的代码
在 manage_user_controller.rb
private
def load_columns
columns = []
columns << {:data => "id", :title => "ID"}
columns << {:data => "email", :title => "Email"}
columns << {:data => "created_at", :title => "Created"}
columns << {:data => 'activities.organiser', :title => "Organiser Role"}
columns << {:data => 'activities.admin', :title => "Admin Role"}
columns << {:data => "id", :title => ""}
return columns
end
在我的 users_datatable.rb
private
def data
results = []
users.each_with_index do |user, index|
cols = {"id" => "#{user.id}"}
cols.merge!("email" => "#{user.email}")
cols.merge!("created_at" => "#{user.created_at}")
cols.merge!("activities" => "#{user.activities.organiser}")
cols.merge!("activities" => "#{user.activities.admin}")
#cols.merge!("activities" => "#{user.activities.admin_events}")
results << cols
end
return results
end
我试图在控制器中将 "activities.organiser" 更改为 "activities",它会加载一些值,但我无法对活动本身中的所有子属性使用活动,因为那是错误的.
那么,我应该如何使用 hstore 列中的键值对正确填充数据table?
非常感谢。
好的,我设法解决了。
在manage_users_controller.rb
def load_columns
columns = []
columns << {:data => "id", :title => "ID"}
columns << {:data => "email", :title => "Email"}
columns << {:data => "created_at", :title => "Created"}
columns << {:data => "organiser", :title => "Organiser Role"}
columns << {:data => "admin", :title => "Admin Role"}
columns << {:data => "id", :title => ""}
return columns
end
在user_datatable.rb
def data
results = []
users.each_with_index do |user, index|
cols = {"id" => "#{user.id}"}
cols.merge!("email" => "#{user.email}")
cols.merge!("created_at" => "#{user.created_at}")
cols.merge!("organiser" => "#{user.activities.organiser}")
cols.merge!("admin" => "#{user.activities.admin}")
#cols.merge!("activities" => "#{user.activities.admin_events}")
results << cols
end
return results
end
两个文件中的名称必须相同。
我目前正在尝试构建一个 table 以在单独的列中显示用户列表及其属性。 它是这样的:
用户1 | user1 邮箱 | user1 管理员角色 | user1 组织者角色
用户 2 |用户 2 邮箱 | user2 管理员角色 | user2 组织者角色
用户 3 |用户 3 邮箱 | user3 管理员角色 | user3 组织者角色
但是,admin 和 organizer 属性存储在名为 activities 的 hstore 列中。
我建数据的时候table浏览器returns这个错误
DataTables warning: table id=DataTables_Table_0 - Requested unknown parameter 'activities.organiser' for row 0. For more information about this error, please see http://datatables.net/tn/4
这是我构建 table 列的代码 在 manage_user_controller.rb
private
def load_columns
columns = []
columns << {:data => "id", :title => "ID"}
columns << {:data => "email", :title => "Email"}
columns << {:data => "created_at", :title => "Created"}
columns << {:data => 'activities.organiser', :title => "Organiser Role"}
columns << {:data => 'activities.admin', :title => "Admin Role"}
columns << {:data => "id", :title => ""}
return columns
end
在我的 users_datatable.rb
private
def data
results = []
users.each_with_index do |user, index|
cols = {"id" => "#{user.id}"}
cols.merge!("email" => "#{user.email}")
cols.merge!("created_at" => "#{user.created_at}")
cols.merge!("activities" => "#{user.activities.organiser}")
cols.merge!("activities" => "#{user.activities.admin}")
#cols.merge!("activities" => "#{user.activities.admin_events}")
results << cols
end
return results
end
我试图在控制器中将 "activities.organiser" 更改为 "activities",它会加载一些值,但我无法对活动本身中的所有子属性使用活动,因为那是错误的.
那么,我应该如何使用 hstore 列中的键值对正确填充数据table?
非常感谢。
好的,我设法解决了。
在manage_users_controller.rb
def load_columns
columns = []
columns << {:data => "id", :title => "ID"}
columns << {:data => "email", :title => "Email"}
columns << {:data => "created_at", :title => "Created"}
columns << {:data => "organiser", :title => "Organiser Role"}
columns << {:data => "admin", :title => "Admin Role"}
columns << {:data => "id", :title => ""}
return columns
end
在user_datatable.rb
def data
results = []
users.each_with_index do |user, index|
cols = {"id" => "#{user.id}"}
cols.merge!("email" => "#{user.email}")
cols.merge!("created_at" => "#{user.created_at}")
cols.merge!("organiser" => "#{user.activities.organiser}")
cols.merge!("admin" => "#{user.activities.admin}")
#cols.merge!("activities" => "#{user.activities.admin_events}")
results << cols
end
return results
end
两个文件中的名称必须相同。