【发布时间】:2015-08-20 14:00:58
【问题描述】:
我正在使用 carmen gem 将国家/地区存储为他们的国家/地区代码,例如 United States 它是 US 。但是当我在视图中检索国家/地区时,我将其检索为他们的全名
我有一个模型用户和帐户
class User < ActiveRecord::Base
has_one :account
end
class Account < ActiveRecord::Base
belongs_to :User
end
和
@users = User.includes(:admin, :account).
where.not(admin: { role: 'SUPER' }).where("names like ? OR accounts.country like ?" , "%#{ search }%", "%#{ search }%")
<% @users.each do |user| %>
<%= user.names %>
<%= Carmen::Country.coded(user.account.country).name %>
<% end %>
我有一个用户查询,我在视图中使用它来查找带有他们国家/地区的用户名,但在搜索中,例如,如果我写美国,它会给我所有国家/地区的名称 United States 但我不想用他们的国家代码搜索名字,我想写整个国家名称
我知道问题出在搜索查询中。国家代码存储在数据库中,所以它是通过代码搜索,但我无法在搜索查询中找到如何使用 carmen 国家代码到他们的名字转换 请帮忙,提前谢谢
【问题讨论】:
-
不确定您的问题是什么。您能否重述这个问题或举例说明现在正在发生的事情以及您希望发生的事情?
-
@sshaw 我正在从 accounts.country 获取 Country 简短表格,例如“US”、“UK”、“IN”,在搜索中我想写下完整的国家名称,例如“United States”所以在查询中我想从表中获取完整的国家/地区名称
-
我仍然认为我遗漏了一些东西。为什么这(无错误处理)不起作用?
User.where('accounts.country like ?', "%#{Carmen::Country.coded(country).name}%")
标签: ruby-on-rails ruby-on-rails-4 carmen