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
模型具有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