Ruby on rails 阵列到活动记录模型
我想在一个视图中显示一天的具体任务(今天)。这些任务的估计时间必须为每天6小时 在模型中,我有以下方法: def self.tasks_for_today total_time = 0 r = Array.new all(:conditions => "finished = 0").each do | t | total_time += t.estimated_time r << t if total_time <= 6 end r
我想在一个视图中显示一天的具体任务(今天)。这些任务的估计时间必须为每天6小时 在模型中,我有以下方法: def self.tasks_for_today total_time = 0 r = Array.new all(:conditions => "finished = 0").each do | t | total_time += t.estimated_time r << t if total_time <= 6 end r
我有一个看似简单的错误,但我似乎不知道如何解决它。我尝试过卸载和重新安装,但没有帮到我。我对终端和ruby/RubyonRails都是新手,所以请原谅我潜在的愚蠢问题。有人知道如何解决这个问题吗 这正是我尝试运行rspec时收到的错误消息 /opt/local/lib/ruby/vendor\u ruby/1.8/rubygems.rb:827:inreport\u activate\u error:找不到RubyGem rspec core(>=0)(Gem::LoadError) 从/opt
我有一个独特的产品模型。因此,当一个用户购买了这个模型,没有人可以再次购买它,卖方不能是同一个人,然后买方 当我将要购买产品时,我称之为方法product.buy(买方)。但是当买方=卖方且date.sale!=无但这不起作用。我怎样才能修好它 def buy(buyer) if self.user != buyer if self.date_sale.nil? self.date_sale = Time.now self.buyer
我试着按照我能找到的有点有限的说明和教程来做:acts\u as\u taggable\u on 我已经让它运行了,并且已经在数据库上运行了迁移 我的模型包括 class Task < ActiveRecord::Base acts_as_taggable acts_as_taggable_on :interests,:partners 类任务true}do | form |%> 我认为仅仅将标签添加到字段中太容易了,但找不到任何关于如何操作的文档。显然问题是 1) 将表单字段创建
我想对数组数据使用Kaminari分页。我在他们的维基上看到了一些东西,但我有问题。就在那时,我注意到一个页面显示了卡米纳里。有人知道我是否可以在我的项目中将其用于我自己的阵列吗?如果是这样,你能告诉我怎么做吗?我不知道是否需要从此扩展我的数组类,或者将其作为一个模块,或者做什么。我还没有测试过这个,但是看看这些代码,也许您可以尝试类似的方法 f = PaginatableArray.new 然后将其用作数组,因为它继承了数组中的所有内容。或者,其中可能包含具有以下方法的内容: self.pa
我有一个从utf-8页面上刮取的字段: "O’Reilly" 并保存在yml文件中: :name: "O\xE2\x80\x99Reilly" (xE2x80x99为最新版本) 但是,当我将该值加载到散列中并将其输出到标记为utf-8的页面时,我得到: OâReilly 我查找了字符–在UTF-16中编码为x00E2,当我粘贴字符串时,字符x80和x89不可见,但在–之后出现。我假设这意味着我的应用程序输出三个UTF-16字符,而不是一个UTF-8字符 如何让rails将3字节UTF-8代
如果这是一个愚蠢的问题,我很抱歉,但在我的schema.rb中,我有几个表,如 create_table "messages", :force => true do |t| t.integer "user_id", :null => false t.string "message", :null => false t.datetime "created_at", :null =>
对于cron任务,我正在使用最新版本的带有Rails 3.1.1的gem。在我使用终端上的where命令之后 whenever -c 要清除crontab,每当我键入 crontab -l 虽然它过去常说“没有cron任务”(这不是逐字逐句),但现在它只显示两行大小的空白。另外,如果我有一个cron任务设置,并且我再次在终端中键入相同的命令,那么在显示cron任务之前,会出现这两行空行。如果这是个小问题,我很抱歉。一切似乎都很好,但我只是想确保我没有搞砸任何事情,这些事情会再次困扰我。谢谢
我的代码中有很多点实际上调用了activerecord查找器。例如,在博客引擎中,我可能有一个对应于activerecord模型标记的标记表。假设,出于某种原因,如果一篇文章是用一个标记创建的,其中tag.description=='humor',我希望出现特殊的逻辑。那么我可能在模型中有一个方法: class Tag < ActiveRecord::Base def self.humor_tag find_by_description('humor') end end
我正在使用Desive gem在Ruby On Rails应用程序中实现身份验证。有时会显示错误消息,例如: 禁止从此用户保存健康信息时出错:密码为 太短(最少6个字符) 将这些消息翻译成另一种语言的最佳方式是什么?转到config/locales并复制designe.en.yml,使文件名类似designe.other_language_initials.yml。然后添加您自己的翻译 有关如何翻译应用程序的更多信息,请转到。转到config/locales并复制designe.en.yml,文
我正在使用freetds从ubuntu连接到mssql服务器。 首先,sql server正在端口1433处正确运行。我可以用电话上网。下面的命令也起作用。我可以使用它查询表数据 sqsh -H 192.168.10.249 -p 1433 -H xx -P xxxxxx 但是,此命令不起作用,因此使我的ror应用程序崩溃 sqsh -S developer -U xxx -P xxxxxxxxx 这是freetds.log中的错误 1:24:59.068648 5010 (log.c:19
轨道3.2.6 我已经按照本文的建议设置了联系人控制器和表单: 我的消息车型类别: class Message include ActiveModel::Validations include ActiveModel::Conversion extend ActiveModel::Naming attr_accessor :name, :email, :message_body # validations are here... def initialize(at
rb:1:uninitialized constant MongoMapper(namererror),这是我在config/initializers/mongo.rb文件中遇到的错误 我遵循了网站上的配置教程 这是mongo.rb文件中的代码 MongoMapper.connection=Mongo::connection.new('localhost',27017) MongoMapper.database=“#monmil-#{Rails.env}” 如果定义?(乘客) PhusionPa
我是RubyonRails的新手,在创建表单中使用下拉列表时遇到了问题。这是我收到的错误: nil:NilClass的未定义方法“map” 第8行周围的提取源: 5::message=>必须修复以下字段:, 6::header_tag=>:h3%>->-> 7: 8:'选择子类别…'}%> 9: 10: 11: 这是我的新的.html.erb: 新设备 无效设备!, :message=>必须修复以下字段:, :header_tag=>:h3%>->-> '选择子
在Rails 3中添加收藏夹的最佳方式是什么? 我只找到了这篇关于收藏夹系统的文章,但它是在2009年发布的 这是制作这样一个系统的最好方法,还是你可以提出更多建议?你指向的链接会很好 不过,你必须记住的是,“最佳”方式完全取决于你的应用程序的设置方式以及你想用你的收藏夹系统实现什么。我的建议是通读。为了对这种系统进行建模,需要进行广泛的规划,这完全是您对如何实施它的选择……我建议您首先仔细查看ActiveRecord::Associations,回调和验证,因为它们是任何应用程序的金钱逻辑…
我正在尝试验证附件的扩展。我尝试了以下方法: validates_format_of :image_vector, :with => %r{\.(ai|dxf|eps|svg)$}i 然而,它似乎不起作用,每当我上传svg文件时,它都会说该格式无效。我也试过使用回形针,但似乎无法解决扩展问题。 如果您有任何帮助,我们将不胜感激。使用回形针,您可以这样做: validates_format_of :image_vector, :with => %r{\.(ai|dxf|eps|sv
我正在Railstutorial.org上完成教程,并通过测试完成了第8章。我的问题是,如果我完全按照指南的代码操作,我可以登录,但是无法到注销 如果我单击“注销”,我将被重定向到根路径,但仍然是已登录的成员 我想我找到了我的助手。具体如下: def current_user @current_user ||= User.find_by_remember_token(cookies[:remember_token]) end 通过rails控制台和pry,我能够确定cookie
当我尝试导航到localhost:3000/用户时,会出现此错误 这是my routes.rb文件: 我看过类似的问题/答案,但它们似乎都有更大的代码基础。我相信这应该是一个简单的错误,因为除了scaffold生成的代码之外,我几乎没有编写任何代码 如果有帮助的话,我正在看迈克尔·哈特尔的一本书 由于Andrew Wei不得不重新安装ruby堆栈(ruby、rails、git、gem、railsinstaller等),问题得以解决。也许您做了一些事情,要求您在更改生效之前重新启动rails服
我们正在Rails应用程序中使用Desive进行身份验证。我们有两种型号——用户和专业人员。我们有许多专业人员无意中尝试以用户身份登录,如果用户登录失败,我们希望检查输入的电子邮件是否与专业人员匹配 例如,如果专业人士尝试以用户身份登录,我们希望显示如下的flash消息: “我们找不到此帐户的用户名/密码,但是,我们找到了一个专业帐户。单击此处以专业人士身份登录。” 关于如何使用Desive实现这一点,您有什么想法吗?我使用了类似的忘记密码功能。它可以帮助你 编辑:添加了专业检查 def res
我在RubyonRails上使用minitest。下面是我的模型 require 'mongoid' class Person include Mongoid::Document index({ pin: 1 }, { unique: true, name: "pin_index" }) field :first_name field :last_name field :pin validates :pin, presence: true,
这是我的情况。我让用户在登录页面上注册,这样当页面启动时,我们就可以与他们联系。他们只是在输入他们的电子邮件 我所寻找的是在用户注册后自动登录,因为我想知道刚刚注册的用户是否点击了一个按钮,该按钮立即显示他的注册完成 我怎样才能知道注册用户的电子邮件?我应该将其存储在哪里,以便使用Javascript侦听器可以侦听单击并将该电子邮件发送回服务器 谢谢无法准确了解您需要什么,但是如果您希望用户在自动注册后登录,您可以使用注册方法current_user=user并重定向到他的主页。问题在于他们没有
我正在尝试允许用户在我的网站上传他们的简历 这是我在控制器里的东西 def resume if signed_in? @resume = current_user.resumes.build end end 这是我创建的表 create_table "resumes", :force => true do |t| t.string "content" t.integer "user_id" t.boolean "share" t
我的视图显示了搜索中返回的产品表,以及它们各自的详细信息、销售这些产品的供应商及其相关价格。我想做的是将供应商和价格放在下拉列表中,而不是有两个数据单元,其中有5个以上的供应商和价格,从而扭曲了表格的行高。这可能吗?最好的方法是什么?我已经研究过使用列表,但不确定如何以这种方式将价格和供应商下拉列表在一起。我目前正在使用一个表中的一个表(表inception),但是如果您认为有更好的方法,请告诉我。以下是我目前的看法: <table> <tr class="search-t
我想从当前方法重定向到另一个方法。我还想传递一个实例变量。这样做的语法是什么 目前我有: redirect_to :action => 'contact' 现在,我如何修改上述语句以同时传递实例变量 提前感谢:)您不能在URL中传递实例变量,但您可以做的是传递id或其他字符串,您可以使用这些字符串从模型中获取数据 例如,如果要从User.find(10)传递数据,可以执行以下操作: redirect_to :action => 'contact', :user_id => 1
我用的是heroku上的4号轨道。我有一个管理面板,与首页有一个单独的布局。当我部署到heroku时,第一次加载这个管理面板需要花费很长时间。在我通过之前,我通常会遇到4个应用程序错误。但是,站点上的任何其他页面(使用默认应用程序布局)都可以正常加载 我应该为多个布局启用某种配置吗?我有一个管理员控制器,里面有这个 layout "admin_layout" 然后,我在layouts文件夹中有一个admin_layout.html.erb文件,头部有这个文件 <%= stylesheet
我的rails应用程序使用translateable_column将config/locales/he-IL.yml内容加载到表列中自己的列中 rails应用程序是用3.0.19和ruby 1.8.7构建的,我安装了traco gem“traco”,“~>1.0.0” 我不确定哪个traco版本与1.8.7兼容。但我知道activerecord>3很好 create_table "statements", :force => true do |t| t.text "na
我想这样做 .bip_control{ @extend .form-control; color:red; } 但是最终的css看起来像 .bip_control{ color: red; } 我遗漏了什么吗?我试用了你的代码,对我来说,它似乎可以正常工作。假设您正在定义.bip control,将引导文件导入到Sass文件中,因为这是使用选择器扩展引导规则的唯一方法。我在Sassmeister上添加了一个示例: 像这样导入引导应该包括您可以扩展的所有引导规则(请参阅,
所以,我是RubyonRails的新手,我创建了两个类,Author控制器类和Book控制器类。作者有书,每本书都与一位作者相连 作者模型 class Author < ActiveRecord::Base has_many :books validates_presence_of :genres validates_presence_of :name end class Book < ActiveRecord::Base #Validations
routes.rb namespace :user do resources :people end URL1 URL2 我想通过routes.rb将User::PeopleController#索引重定向到User::PeopleController#list match "user/people", :to => redirect("/user/people/list") 当我将上述代码写入routes.rb时。它将Url1和Url2重定向到list操作。 我只想重定向Ur
Edit:结果发现我犯了一个非常简单的错误,有一个模板与不再存在的LocalTemplate id关联。如果任何人有此问题,并且认为他们在更新操作中无法关联另一个模型的id,请确保您没有意外删除父对象,从而导致该id不再存在! 下面的代码虽然大大简化了,但对我来说确实有效。 我的rails应用程序中有一个模板模型。它有一个定义了“数据”的方法 我可以使用@template.data在“创建和显示”操作中访问此方法,但是在控制器的“更新”操作中使用相同的@template.data时,会出现“无方
我正在创造一块宝石,以下是我的结构: lib/ | myapp.rb | myapp/ | version.rb | configuration.rb | use_cases/ | base_use_case.rb | entity1/ | show_entity.rb spec/ myapp.gemspec 我想让我的类ShowEntity继承自BaseUseCase module MyApp::
我对Rails非常陌生,我希望能够将名称插入到附加到用户的数组中 我在我的“schema.rb”中添加了一个名为“订阅的任务”的空数组 我想知道如何将数据推入该阵列 我的第一次尝试是: 在我的show.haml中有“=链接到”Subscribe“,Subscribe\u task\u路径,类:“btn btn default””,然后在我的route.rb中有这个: resources :tasks do member do get :subscribe end
当我尝试连接到Redmine自定义工作流中的数据库,并单击“保存”时,我得到了Redmine内部错误。请在下面查找代码 @connection = ActiveRecord::Base.establish_connection( :adapter => "mysql2", :host => "localhost", :database => "bitnami_redmine", :username => "bitnami", :password => "xxxx"
我用Sorcery和Cancan制作了一个简单的基于角色的auth,该数据库包含一个名为role的列,注册用户时可以是admin或normal Relato是一个脚手架,您可以在这里创建“报告”,我希望普通用户只能看到自己创建的报告,也可以执行其他操作(更新、销毁) 我的能力 def initialize(user) if user.role == 'admin' can :manage, :all elsif user.role == 'normal' can :create,
我正在尝试将.net应用程序迁移到rails,在其中一个.net rest控制器中,有一个方法接收json post并将其转换为字符串。这是密码 string json = Request.Content.ReadAsStringAsync().Result; 然后我解析出属性,就像这样 JObject result = JObject.Parse(json); JToken applicant = result["applicant"]; JToken resume = applicant[
我刚刚对我新部署的Rails 4应用程序进行了一些新的更改。更准确地说,是视图文件中的一些更改 对我的desmay来说,在推动这些改变之后,该网站仍然显示出相同的旧视图。我做了很多调查,最后我意识到解决问题的关键是: sudo restart puma-manager 现在,这是正常的做法吗?每次推送更改时重新启动服务器?还是我配置彪马不恰当 有人能告诉我我是否可以做些什么来改善这种情况吗?Rails中的自动更新代码在机架中间件下工作 默认情况下,ActionDispatch::Reloade
我的代码中有这样的内容: 标记控制器 @tag = Tag.find(id: Tag.root) tag.rb def self.root TagHierarchy.select('ancestor_id').where(generations: 0) end 问题是: 找不到具有'id'={:id=>#}的标记 因此,我需要将列名祖先id别名为id,但我不知道如何 试试这个,也许这对你有帮助 def self.root TagHierarchy.where(generation
rakedb:migrate在sqlite3本地工作,但在heroku的postgresql中不工作 错误 PG::UndefinedTable: ERROR: relation "musicians" does not exist : ALTER TABLE "orders" ADD CONSTRAINT "fk_rails_ad134589be" FOREIGN KEY ("musician_id") REFERENCES "musicians" ("id") (0.9ms)
我已经通过以下方式为我的rails应用程序实现了一个偏好系统 以下是我的设置: 收藏夹.rb class Favorite < ActiveRecord::Base belongs_to :user belongs_to :favorited, polymorphic: true end 我确信,如果我在删除这些项目之前对它们都不满意,这个错误就不会出现 有人知道如何解决这个问题吗?根据: 删除匹配条件的记录,而不首先实例化记录,因此不调用destroy方法,也不调用回调。这是一
我有一个模型a,在一对多关系中最多可以有10个关联模型B。这些嵌套模型只有一个表示单词的字符串属性 我想显示一个表单来创建/编辑父模型和所有嵌套子模型,显示10个可能模型的字段。然后,如果我只填充其中两个,将创建两个模型 最后,在编辑模型A时,我需要显示10个字段,其中两个字段填充了与A数据关联的模型B,其余的空白字段准备填充 已尝试使用数组显示字段,但它仅显示已存在的模型B实例的字段 视图: 控制器: class Bs < ApplicationController def edit
我为公司的图片建立了一个多态关联。我想为一家公司提供最多6张图片。如果已经创建了图像,则应显示该图像,如果未创建,则应为上载字段 模型设置: class Company < ApplicationRecord has_many :images, as: :imageable accepts_nested_attributes_for :images end 他认为: <%= form_for(@company) do |f| %> <%= f.fiel
我正在用RubyonRails编写一些单元测试。即使我期望测试的结果通过验证,测试也会失败。 这是我正在测试的模型: class Post < ApplicationRecord def permitted_params params.require(:post).permit(:title, :body, :category_id, :admin_user_id) end belongs_to :category belongs_to :a
我有用户,个人资料,买方,和卖方对象 class User has_many :profiles end class Profile belongs_to :user belongs_to :profileable, polymorphic: true validates :user, presence: true, uniqueness: { scope: :profileable_type } end class Buyer has_one :profile, as:
我的控制器和视图中有一堆代码,如current\u user.articles或current\u user.name。显然,当没有当前用户时,这会导致错误。我可以一直写类似于current\u user&¤t\u user.articles的文章,但这是重复的 是否有某种方法来禁用此错误消息,如果在CurrutsUpor上调用了一个方法,只返回一个警告,但CurrnTyAuthor不存在?< P>而不是禁用错误(这似乎不是一个特别超赞的想法),考虑使用Ruby安全导航运算符,和.或
我正在Rails 6应用程序中使用Desive进行身份验证。一旦用户登录,我希望在允许他们访问任何和所有经过身份验证的路由之前,有条件地检查他们是否已完成登录。如果没有,则应通过入职流程重新定向。大概是这样的: unless current_user.has_completed_onboarding redirect_to '/onboarding' end 我有十几条路线要实现这个逻辑。在每个请求之前向经过身份验证的路由添加此检查,而不在每个控制器中重复检查的最佳方法是什么?谢谢 在这种
我们是否应该提到from,to,as nullable:false def change create_table :marriages do |t| t.references :from t.references :to t.date :marriage_date, nullable: false t.timestamps end 如果您希望强制它不能为NULL,则选择“是” 还请注意,它应该是null:false
代码如下 def update # params = {"from_zip"=>"28803", "lane_week_day_names"=>["Wednesday", "Monday"]} @lane.assign_attributes(params) return unless @lane.valid? # rest of logic
我的techenv的起点是Ruby 2.7.2和Rails 6.0.3.4 我完全脱离了链轮,所以我决定完全依赖webpacker,因为我使用了PostCSS。 尽管生产环境出现错误,但一切正常 ActionView::Template::Error (Webpacker can't find styles in /jsApp/public/packs/manifest.json. Possible causes: 1. You want to set webpacker.yml value o
我想将文本中的URL转换为HTML格式的。 以下代码导致在erb中转义。 我怎么修理 index.html.erb <p> <%= urlify('Hello https://stackoverflow.com/') %> #=> Hello <a href="https://stackoverflow.com/">https://stackoverflow.com/</a> </p> 您可以这样做:
您好,我正在尝试在react rails组件中播放视频: import React from "react" import PropTypes from "prop-types" class Video extends React.Component { render () { return ( <React.Fragment> <div className="container&quo