Tag: 范围

如何在同一索引页上的单独表中显示真/假布尔值?

我能够在_form中检查布尔值,但是“目标”只显示在“已完成”目标表中,而不是在其上方的目标表中(无论是否已检查)。 如何在顶部表格中显示虚假目标(未完成核对的目标)和底部表格中的真实目标(已完成核对的目标)? 对于代码炸弹丢弃感到抱歉,我是布尔和范围的新手,所以我想确保我展示了解决这个问题可能有用的所有代码,因为我投入了我认为可能有用的随机内容。 index.html.erb GOALS <span class="glyphicon glyphicon-plus" ACCOMPLISHED goal.rb class Goal { where(accomplished: true) } end create_goals.rb class CreateGoals < ActiveRecord::Migration def change create_table :goals do |t| t.string :name t.date :deadline t.boolean :accomplished t.timestamps null: false end end end schema.rb(部分) create_table “goals”, force: true do |t| t.string “name” t.date “deadline” t.boolean “accomplished”, default: false […]

如何编写此范围以在嵌套模型上搜索属性? (再次)

好, 我今天早些时候问了这个问题 如何编写范围以在嵌套模型上搜索属性? 并在Rails中搜索嵌套模型中的属性得到了很好的答案。 在上一个问题中,写了一个范围,发现所有患者入院时的出院时间为零(谢谢tjwallace)。 class Patient nil) end 我现在要做的是写一个名为:discharge的范围,它会进行一次搜索,返回所有至少有一次入院且放电时间不为零的患者。 我试过以下几点; scope :discharged, includes(:admissions).where(‘admissions.discharge_time ?’, nil) 但是这没有返回结果(并且数据库中确实存在应该通过正确编写的搜索找到的患者)。 任何帮助将不胜感激。

Rails range_field从0到-100

我有一个范围字段,当向右滑动时,需要使输出“更负”到-100。 这是我目前的代码: 0..-100, :step => ‘.1’ %> 显然,使用:in => -100..0工作正常,但当我将其切换为0 ..- 100时,向右滑动上升到100,这显然是错误的。 我需要用户能够向右滑动以获得更负数。 有谁知道如何实现这一目标? 如果这是不可能的,有没有办法设置:in => 0..100但是在将数字放入数据库之前将其设为负数?

Rails:既给出了块arg又给出了实际块

我想在Rails 4中创建一个应用程序。 我在我的个人资料显示页面中有这个代码,以显示用户创建的所有项目。 “…”, :length => 250) %> 当我尝试这个时,我得到一个错误,上面写着: SyntaxError at /profiles/3 both block arg and actual block given 任何人都可以看到什么是错的? 方法’all_current_for_creator’在我的project.rb中定义为: def self.all_current_for_creator(creator) if creator.profile.present? creator.current.visible else guest_visible end end 我在project.rb中定义了三个范围: scope :creator, lambda { where(@creator_profile = user.profile_id)} scope :current, lambda { where(‘project.start_date >= ?’, Date.today)} scope :visible, lambda { joins(:sweep => :disclosure).where(‘disclosures.allusers’ => ‘true’) […]

使用跨模型范围在索引页面上过滤表单

我想使用一个表单来过滤索引页面,该表单使用复选框进行过滤而不刷新页面。 这是Users索引,但我根据Profile数据进行过滤。 我是编程的初学者,并且已经设法将我正在尝试做的一些事情拼凑起来,但需要帮助将它们连接起来。 (供参考,有关我使用本文的范围的指导以及我使用本文的表单/ ajax / jQuery。) User.rb: class User :destroy scope :profiles, lambda { joins(:profiles).group(“users.id”) & Profile.id } end Profile.rb: class Profile < ActiveRecord::Base belongs_to :user class << self def search(q) [:high_school, :higher_ed, :current_city, :job_title, :hometown, :subject].inject(scoped) do |combined_scope, attr| combined_scope.where("profiles.#{attr} LIKE ?", "%#{q}%") end end end end UsersController: class UsersController [conditions, params], :offset […]

has_many关系的每个最后元素的范围

假设我在User和Messages之间有一个has_many关系。 我想设置一个范围,以便能够通过他们发布的最后一条消息中的内容过滤用户。 所以只搜索每个用户的最后一条消息。 下面我得到了所有消息中的结果…… class Contact < ActiveRecord::Base has_many :messages scope :filter_by_last_messages, lambda { |value| joins(:messages).where("messages.content = ?", value) } end

使用form_for(部分)路由范围问题

试图路线: scope :shortcut do resources :text_elems end 使用forms偏的基本脚手架 *_form.html.erb* @shortcut) do |f| %> … 问题是 :当我调用编辑操作时,表单html显示为: 注意: 新操作正确呈现表单操作: 因此,当form_for处理它的块时,我的:快捷方式param似乎被:id param打败了。 现在我能够使用:快捷方式参数正确路由,如果我在form_for块中手动创建:url => {…},但我希望保持代码干,再加上我要报告如果这确实是一个错误,这个问题到rails。 任何人都可以确认这是一个错误吗?

如何编写范围以在嵌套模型上搜索属性?

我有一个患者模型has_many:入院。 我想为患者模型创建一个范围,该范围将返回目前被录取的所有患者。 如果患者的任何入院时间为零,则确定患者入院。 通过迭代患者并检查每次入院,我可以在应用程序中轻松地做到这一点,但似乎我应该让数据库执行此操作。 我之前没有写过这样的范围。 有什么建议? (我在开发中使用sqlite3,在生产中使用postgresql,以防某些SQL需要 – 我希望不是)

Rails 3范围 – 查找不在特定组中的用户

这是我的问题(有点简化): 我有以下型号: class User has_many :group_users has_many :groups, through: :group_users class Group has_many :group_users has_many :users, through: :group_users class GroupUser belongs_to :group belongs_to :user scope :belonging_to_group ->(group) {where(group_id = group.id)} 我想对不在一个特定组中的用户进行范围,让我们说蔬菜的例子,这样的事情会是这样的: scope :not_in_group, ->(group) 我尝试过这样的条款: scope :not_in_group, ->(group) {joins(:group_users).merge(::GroupUser.belonging_to_group(group)).group(:title).having(‘count(group_users.user_id) = 0’) 但似乎没什么用 编辑 :我现在有另一个问题,你可能想要检查这个,如果你从另一个类的类方法调用你的范围: Rails – 使用另一个类方法的类方法与第二类的一个属性

rails模型范围中的关联数据

我有一个名为Post (博客文章)的模型和一个名为Category的模型。 每个postbelongs_to一个类别。 每个类别都有一个名为retainer的属性,用于指定post“过期”之前的时间量,例如movies_category.retainer = 30.days 我要做的是为Post创建一个范围,找到所有“过期”的post。 因此,例如,假设我要对30.days的值进行硬编码并且它适用于所有类别(因此所有post),范围将是: scope :expired, lambda { where(“posts.created_at < ?", 30.days.ago) } 但是,我没有对值30.days.ago进行硬编码,而是希望从post的类别中获取retainer值,并根据该条件确定条件,例如: scope :expired, lambda { where(“posts.created_at < ?", Time.now – post.category.retainer) } 所以说得好:我希望获得所有过期的post,并且过期状态由每个post的类别的保留值确定(即电影类别中的post在10天后到期,游戏类别中的post在5天后到期等) 这有可能吗? 我需要某种forms的加入吗?