我有一个仪表板,显示从用户和保姆模型获取的结果。
在我的user.rb里
User has_many :nanniesnanny.rb有
Nanny belongs_to :user用户有一些基本属性(姓名,电子邮件,电话等)保姆现在有其他属性(性别,时间,天数等),我有这些行来实现搜索和获取用户根据过滤器。控制器的索引方法是
@users = User.ransack(params[:q])
@people = @users.result我可以根据保姆的属性过滤结果。视图中的过滤器表单如下所示
<%= search_form_for @users do |f| %>
<%= f.label :firstname_cont %>
<%= f.search_field :firstname_cont %>
<%= f.label :lastname_cont %>
<%= f.search_field :lastname_cont %>
<%= f.label :role_eq %>
<%= f.search_field :role_eq %>
<%= f.label :nannies_gender_cont %>
<%= f.search_field :nannies_gender_cont %>
<%= f.label :nannies_hours_eq %>
<%= f.search_field :nannies_hours_eq %>
<%= f.submit %>
<% end %>结果显示如下
<% @people.each do |test| %>
<%= test.id %>
<%= test.firstname %>
<%= test.email %>
<%= test.hours %>
<% end %>我得到一个错误‘未定义的方法小时为用户’(这显然属于保姆模型)。
我需要能够做到以下几点
希望在这个问题上提供任何指导或纠正。
发布于 2018-05-02 15:20:18
假设您的问题是如何修复undefined method hours for User
下面的解决方案并不是真正的Ransack“东西”,而是更多的Rails“东西”:
<% @people.each do |test| %>
<%= test.id %>
<%= test.firstname %>
<%= test.email %>
<% test.nannies.each do |nanny| %>
<%= nanny.hours %>
<% end %>
<% end %>test (其中的test是一个User记录)的每个hours,并且只有当您可以访问每个nanny的hours值时,才需要循环遍历它。https://stackoverflow.com/questions/50137517
复制相似问题