Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。


10
查找关联计数大于零的所有记录
我正在尝试做一些我认为很简单但似乎并非如此的事情。 我的项目模型有很多职位空缺。 class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end 我要获得所有至少有1个空缺的项目。我尝试过这样的事情: Project.joins(:vacancies).where('count(vacancies) > 0') 但它说 SQLite3::SQLException: no such column: vacancies: SELECT "projects".* FROM "projects" INNER JOIN "vacancies" ON "vacancies"."project_id" = "projects"."id" WHERE ("projects"."deleted_at" IS NULL) AND (count(vacancies) > 0)。


7
如何在Rails中为同一表单创建多个提交按钮?
我需要有多个提交按钮。 我有一个创建Contact_Call实例的表单。 一键创建它正常。 另一个按钮创建了它,但是需要具有与默认值不同的:attribute值,并且还需要在控制器中使用的不同但相关的模型上设置属性。 我怎么做?我无法更改路线,因此有没有办法发送由[:params]接收的其他变量? 如果这样做,我将在控制器中做什么,设置一个case语句?


2
Rails:around_ *回调
我已经阅读了http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html上的文档,但不了解何时around_*针对before_*和触发回调after_*。 任何帮助,不胜感激。 谢谢。

13
Haml:控制文本周围的空格
在我的Rails模板中,我想使用HAML完成最终的HTML来达到这种效果: I will first <a href="http://example.com">link somewhere</a>, then render this half of the sentence if a condition is met 接近的模板: I will first = link_to 'link somewhere', 'http://example.com' - if @condition , then render this half of the sentence if a condition is met 但是,您可能会注意到,这会在链接和逗号之间产生一个空格。有什么实际的方法可以避免这种空白?我知道可以删除标记周围的空格的语法,但是可以将这种语法仅应用于文本吗?我真的不喜欢额外标记的解决方案来完成此任务。

2
Ruby on Rails中的多列索引
我正在实现跟踪用户阅读过哪些文章的功能。 create_table "article", :force => true do |t| t.string "title" t.text "content" end 到目前为止,这是我的迁移: create_table :user_views do |t| t.integer :user_id t.integer :article_id end 总是会查询user_views表来查找两列,而不会只查找其中一列。我的问题是索引应如何显示。这些表的顺序是否有所不同,是否应该有更多选择或其他选择。我的目标数据库是Postgres。 add_index(:user_views, [:article_id, :user_id]) 谢谢。 更新: 因为在两列中只能存在包含相同值的一行(因为要知道user_id是否已读取article_id),我应该考虑:unique选项吗?如果我没有记错的话,那意味着我不必自己进行任何检查,只需在用户每次访问文章时插入一下即可。


3
如何将记录添加到has_many:通过Rails中的关联
class Agents << ActiveRecord::Base belongs_to :customer belongs_to :house end class Customer << ActiveRecord::Base has_many :agents has_many :houses, through: :agents end class House << ActiveRecord::Base has_many :agents has_many :customers, through: :agents end 我该如何添加Agents模型Customer? 这是最好的方法吗? Customer.find(1).agents.create(customer_id: 1, house_id: 1) 上面的内容在控制台上工作正常,但是,我不知道如何在实际应用程序中实现这一点。 想象一下,为客户填写了一个表格,该表格也house_id作为输入。然后在控制器中执行以下操作? def create @customer = Customer.new(params[:customer]) @customer.agents.create(customer_id: @customer.id, house_id: params[:house_id]) @customer.save end …

4
如何在Rails中获取属性的原始值
有没有办法获取ActiveRecord属性的原始值(=从数据库加载的值)? 我想要观察员这样的事情 before_save object do_something_with object.original_name end 任务是在更新时从哈希表中删除对象(实际上,将其移动到表中的另一个键)。

5
如何在Rails中自动对has_many关系进行排序?
这似乎是一个非常简单的问题,但我还没有看到任何地方回答。 在滑轨中,如果您有: class Article < ActiveRecord::Base has_many :comments end class Comments < ActiveRecord::Base belongs_to :article end 为什么不能用以下命令订购评论: @article.comments(:order=>"created_at DESC") 如果您需要大量引用命名范围,甚至有人会做这样的事情,它也可以工作: @article.comments.sort { |x,y| x.created_at <=> y.created_at } 但是有件事告诉我它应该更简单。我想念什么?

1
使用Ruby on Rails,Webpack和React JS在Chrome中将源地图缩小一行
我遇到一个问题,inline-source-map当我使用Chrome devtools调试器时,使用配置设置由Webpack生成的源地图关闭了一行。Webpack是在Ruby on Rails应用程序中设置的,以生成由几十个模块组成的串联的,最小化的JavaScript文件。这些模块中的大多数是ReactJS组件,由jsx加载器进行解析。然后,Webpack的输出application.js与gems生成的其他一些JavaScript库一起包含在文件中。 当我使用时eval-source-map,没有问题。关于使用use的某些事情inline-source-map会使行号被一甩掉。 检查不是React组件的JavaScript仍然存在此问题,因此我认为它与jsx的使用无关。

4
如何在Devise中验证用户密码
我在使用rails中的devise gem匹配用户密码时遇到问题。用户密码存储在我的数据库中,该密码是cryptod_password,我正在尝试通过密码查找用户,但是我不知道如何从数据库中的表单和cryptoned_pa​​ssword匹配密码。 User.find_by_email_and_password(params[:user][:email], params[:user][:password])

5
如何使用Active Support核心扩展
我已经安装了Active Support 3.0.3,并且已将Rails 3.0.3与Ruby 1.8.7一起安装。 当我尝试使用时,1.week.ago我得到 NoMethodError: undefined method 'week' for 1:Fixnum from (irb):2 其他核心扩展似乎也有效。我在朋友的计算机上尝试过(相同的安装规格和旧版本),结果相同。 是什么赋予了? 所有这些都在IRB中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.