Tag: 找到

Ruby on Rails,通过两个条件找到

我试图通过两个字段的组合找到给定模型的所有值。 我有以下型号: create_table “users”, :force => true do |t| t.string “name” t.string “url” t.integer “clicks_given” t.integer “clicks_received” t.datetime “created_at” t.datetime “updated_at” end 我已经为模型定义了这个方法: def credits credits = self.clicks_given – self.clicks_received end 我试图找到超过给定学分的所有用户: @users = User.find(:all, :conditions => { “credits >= ?”, -5 }) 和: @users = User.find(:all, :conditions => { “clicks_given – clicks_received >= ?”, […]

Rails SQL查询与find

我希望使用find在rails控制器中编写这个SQL查询: select id,name from questions where id not in (select question_id from levels_questions where level_id=15) 我该怎么做? 我正在使用Rails框架和MySQL。 提前致谢。

清洁方式按指定的顺序通过id查找ActiveRecord对象

我想在给定一组id的情况下获得一个ActiveRecord对象数组。 我认为 Object.find([5,2,3]) 将返回一个数组,其中包含对象5,对象2,然后按顺序返回对象3,但我得到的数组按对象2,对象3和对象5排序。 ActiveRecord Base 查找方法API提到您不应该按照提供的顺序期望它(其他文档不提供此警告)。 一个可能的解决方案是按相同顺序的ID数组查找的? ,但订单选项似乎对SQLite无效。 我可以编写一些ruby代码来自己对对象进行排序(有点简单,缩放比例较差或缩放比较复杂),但有更好的方法吗?

删除子目录中的扩展名

我需要删除扩展名“.tex”: ./1-aoeeu/1.tex ./2-thst/2.tex ./3-oeu/3.tex ./4-uoueou/4.tex ./5-aaa/5.tex ./6-oeua/6.tex ./7-oue/7.tex 请使用以下一些工具进行操作: Sed并找到 ruby python 我的可怜尝试: $find . -maxdepth 2 -name “*.tex” -ok mv `sed ‘s@.tex@@g’ {}` {} +

find_in_batches“NO BLOCK GIVEN(YIELD)”

我有一个方法,我接受一个模型和result_size。 我尝试在这种方法中做的第一件事是: array = model.logs.find_in_batches(:batch_size => result_size) 但这不起作用; 相反,它返回“No Block Given(Yield)”。 我想我只是不熟悉块和收益率。 如果有人能帮助我理解/解决这个问题,我将不胜感激! 提前致谢!

如何使Ruby的Find.find遵循符号链接?

我有一个文件层次结构,一些子目录是相对符号链接。 我正在使用Ruby的Find.find来浏览这些目录并找到一些特定的文件。 但是,它不会查看任何符号链接的目录(它遵循符号链接的文件)。 看看源代码似乎问题是因为它正在使用File.lstat(file).directory? 测试某些东西是否是目录。 这对符号链接返回false但File.stat.directory? 返回true 。 如何使Find.find跟随符号链接,缺少猴子修补它以使用File.stat而不是File.lstat ?

使用复选框过滤列表

我有一个电影列表以及他们的评级。 在我的页面顶部,我有一个表单,其中列出了显示每个可用评级(G,PG-13等)的复选框。 一旦用户点击复选框并点击提交,我只想显示所选的电影。 在我的索引方法中,我有一个名为@filtered_ratings的实例变量,用于从已检查的电影中收集密钥。 我的想法是使用find方法改变我的控制器中的@movies并将@filtered_ratings的键与电影列表相匹配。 但是,我认为我一直在做错,因为我无法让它发挥作用。 我尝试了几种方法,比如@movies=Movie.find(params[:id] = @filtered_ratings)但我知道这是不正确的。 有什么建议?