1

在我的軌道查看我有一個表格有一個下拉,看起來像這樣:我如何限制相關user_id的下拉菜單的內容?

<%= simple_form_for(@appointment) do |f| %> 
    <%= f.error_notification %> 

    <div class="form-inputs"> 
    <%= f.association :client, label_method: lambda { |c| "#{c.first_name} #{c.last_name}" } %> 
    <%= f.input :occured_on %> 
    <%= f.input :start %> 
    <%= f.input :end %> 
    <%= f.input :copay_received %> 
    </div> 

    <div class="form-actions"> 
    <%= f.button :submit %> 
    </div> 
<% end %> 

我想下拉的內容限制爲僅與current_user.id關聯的客戶端。

我該如何做到這一點?

讓我知道如果你需要看我的控制器或其他東西,但它沒有什麼幻想。我敢打賭你可以猜出它的內容。

+0

您可以通過使用收集 –

回答

2

只需添加收藏說法:

<%= f.association :client, label_method: lambda { |c| "#{c.first_name} #{c.last_name}" }, collection: Client.where(user_id: current_user.id) %> 

備選:

# this implies you have declared: user has_many :clients 
<%= f.association :client, collection: current_user.clients, label_method: lambda{|c| "..."} %> 
+0

限制甜蜜! +1爲較少詳細的替代:-) – Ramy