Ruby 根据rails中的一个参数值筛选用户列表?
我正在使用以下gem: 我试图在控制器内创建@users,以便仅显示参数“status”等于“active”的用户Ruby 根据rails中的一个参数值筛选用户列表?,ruby,Ruby,我正在使用以下gem: 我试图在控制器内创建@users,以便仅显示参数“status”等于“active”的用户 我在控制器中尝试了一些匹配功能,但我不确定将IF逻辑放在哪里,即,它最适合放在index.json.jbuilder、index.hmtl.erb还是控制器中?可能是模型中最好的 class User < ActiveRecord::Base def self.active where(status: true) end end 请注意,我将拉出Gma
我在控制器中尝试了一些匹配功能,但我不确定将IF逻辑放在哪里,即,它最适合放在index.json.jbuilder、index.hmtl.erb还是控制器中?可能是模型中最好的
class User < ActiveRecord::Base
def self.active
where(status: true)
end
end
请注意,我将拉出Gmaps4rails以清理控制器并帮助进行测试等。可能服务对象调用了MapBuilder,然后它接收了一个用户和标记。我应该仍然调用user.all吗?我无法编辑上述响应,因为(依我看,这很荒谬)规则规定,一次编辑不能少于6个字符,但是
@user
应该是@users
以匹配OP的问题我尝试添加模型并将“@users=user.all”替换为“@users=user.active”,但它没有按计划工作。当您进行更改时发生了什么?地图上没有用户,地图显示为0,0。如果我调用@users=User.all,一切都正常,我在地图上看到了所有的用户。在查看用户的show.html.erb时,我还可以看到用户的状态,但我似乎无法使此逻辑在地图上正常工作。
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
json.array!(@users) do |user|
json.extract! user, :id, :latitude, :longitude, :address, :status, :title
json.url user_url(user, format: :json)
end
class User < ActiveRecord::Base
def self.active
where(status: true)
end
end
@users = User.active