如何在 rails 中 select 不同的行
how to select distinct row in rails
total_site
模型有 project_id
、user_id
和 total_site_id
列。我可以访问属于 current_user 已登录的 site
。现在我想访问 project_id
不同的列,但我得到相同的 project_id 的重复。我如何在 rails 中解决这个问题
.这是我的代码-
projects_controller.rb
def new
@projects = TotalSite.where(user_id: current_user.id) #here is want distinct project_id column
@sites = TotalSite.where(user_id: current_user.id)
end
form.html.erb
<div class="field medium-4 columns">
<%= form.label :select_project,:class=>"required" %>
<%= form.collection_select :project_id, @projects, :id, :project_id, prompt: true %>
</div>
<div class="field medium-4 columns">
<%= form.label :select_site,:class=>"required" %>
<%= form.collection_select :site_id, @sites, :id, :name, prompt: true %>
</div>
假设您有一个模型 Project
,其中 has_many :total_sites
来自您的描述:
total_site
model has project_id
如果您希望您的 @projects
是当前用户的所有唯一项目 ID,则
@projects = TotalSite.where(user_id: current_user.id).distinct.pluck(:project_id)
如果您希望它成为实际的 Project
记录,则
Project.joins(:total_sites).where(total_sites: { user_id: current_user.id }).distinct
total_site
模型有 project_id
、user_id
和 total_site_id
列。我可以访问属于 current_user 已登录的 site
。现在我想访问 project_id
不同的列,但我得到相同的 project_id 的重复。我如何在 rails 中解决这个问题
.这是我的代码-
projects_controller.rb
def new
@projects = TotalSite.where(user_id: current_user.id) #here is want distinct project_id column
@sites = TotalSite.where(user_id: current_user.id)
end
form.html.erb
<div class="field medium-4 columns">
<%= form.label :select_project,:class=>"required" %>
<%= form.collection_select :project_id, @projects, :id, :project_id, prompt: true %>
</div>
<div class="field medium-4 columns">
<%= form.label :select_site,:class=>"required" %>
<%= form.collection_select :site_id, @sites, :id, :name, prompt: true %>
</div>
假设您有一个模型 Project
,其中 has_many :total_sites
来自您的描述:
total_site
model hasproject_id
如果您希望您的 @projects
是当前用户的所有唯一项目 ID,则
@projects = TotalSite.where(user_id: current_user.id).distinct.pluck(:project_id)
如果您希望它成为实际的 Project
记录,则
Project.joins(:total_sites).where(total_sites: { user_id: current_user.id }).distinct