,可以实现根据用户ID进行过滤选择的功能。collection_select是Rails框架中的一个表单辅助方法,用于生成下拉菜单。
具体实现步骤如下:
<%= form_for @model do |f| %>
<%= f.collection_select :user_id, User.all, :id, :name, include_blank: true %>
<%= f.submit %>
<% end %>
上述代码中,:user_id
是表单中对应的字段名,User.all
是用于生成下拉菜单的数据源,:id
和:name
分别是选项的值和显示文本的字段名。include_blank: true
表示在下拉菜单中包含一个空选项。
def filter
@filtered_models = Model.where(user_id: params[:model][:user_id])
end
上述代码中,params[:model][:user_id]
获取了表单提交的user_id参数,然后使用where
方法对Model进行过滤,只选择user_id等于指定值的记录。
<% @filtered_models.each do |model| %>
<p><%= model.name %></p>
<% end %>
上述代码中,假设Model有一个name字段,通过循环遍历@filtered_models
,展示过滤后的数据。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云数据库(TencentDB)。
领取专属 10元无门槛券
手把手带您无忧上云