如果记录与数组中的任何ID具有相同的id,请选择记录

我无法找到正确的语法和运算符来检查记录是否与存储在Array中的任何ID具有相同的ID。 has any? function还是类似? @problem = Remedy.where([“LOWER(\”remedyName\”) LIKE?”, “%#{params[:searchremedy]}%”.downcase]).pluck(:id) @pretreatments = Treatment.joins(:remedies_treatment).where(:remedies_treatment_remedy_id == @problem) 我已将代码更新为: ids = Remedy.where([“LOWER(\”remedyName\”) LIKE?”, “%#{params[:searchremedy]}%”.downcase]).pluck(:id) @pretreatments = Treatment.joins(:remedies_treatments).where(remedies_treatments: { remedy_id: @problem }) 但是我现在得到的错误是: SELECT “treatments”.* FROM “treatments” INNER JOIN “remedies_treatments” ON “remedies_treatments”.”treatment_id” = “treatments”.”id” WHERE “remedies_treatment”.”remedy_id” IS NULL Completed 500 Internal Server Error in 157ms (ActiveRecord: 17.0ms) ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR: […]

当使用/不使用self时调用本地方法的方式不同。 为什么?

我有一个名为User模型,与UserFilter有一个has_many关系。 UserFilter与User具有belongs _to的关系。 在User模型中,我有一个名为update_user_filters(filter_params_array)的方法update_user_filters(filter_params_array) 这个方法修改user_filters就像这样 def update_user_filters(filter_params_array) new_filters = [] old_filter = user_filters filters_params_array.each do |filter_params| if filter_params[:id].blank? #if the filter does not yet exist new_filters << UserFilter.new(filter_params) end end user_filters = new_filters end 这user_filters设置为user_filters ,但在保存时不会更新db中的user_filters 。 但是,如果我将分配更改为以下内容。 有人可以解释为什么会这样吗? self.user_filters = new_filters 请注意,当我第一次在模型中引用user_filters ,会在db中执行select操作,因此我不确定此本地方法如何与self和不使用self

成功调用ajax后重新运行JavaScript

我有一个删除按钮,其中包含remote:true选项: # _categories.html.erb 我的destroy方法使用json: # categories_controller.rb def destroy @category = Admin::Category.find(params[:id]) @category.destroy save_to_history(“The category \”#{@category.name}\” has been destroyed”, current_user.id) respond_to do |format| # You can’t retrieve the @categories before attempting to delete one. @categories = Admin::Category.all format.json end end 和我的destroy.json.erb文件看起来像: #destroy.json.erb { “html”:” ‘categories’, :content_type => ‘text/html’) %>” } 现在我的问题是我在页面加载时运行了这个JavaScript,删除初始类别按预期工作……直到数据发生变化。 每次用户通过添加新类别或删除类别来更改数据时,我都需要再次运行此方法。 怎么样? 请善待你的帮助,我根本不懂JavaScript! 哈哈 $(function(){ […]

什么是存储和访问图像的最有效方法

我正在开发一个项目,它必须在服务器上存储数万个图像,并让用户访问它们。 我需要最有效的方法来存储这些图像并检索它们。 另外,我需要有关我应该选择哪种技术的信息。 我还没有开始这个项目。 所以,我在PHP w / CodeIgniter和Ruby on Rails之间思考。 该站点托管许多图像,这些图像仅由内容的作者上载,而不是由用户上载。

使用nginx,passenger和capistrano部署Rails应用程序

我正在部署我的第一个rails应用程序。 我这样做有些麻烦。 我将描述我到目前为止所做的事情。 1)我通过gorails.com正确配置了所有内容 2)我正在尝试将其部署在Digital Ocean上 3)我进行了cap deploy production ,最终结果成功,中间有一些失败。 4)我启动了nginx服务器 5)在我的浏览器中它给了我500错误。 6)我检查了我的production.log ,它显示了它运行的所有迁移和种子。 它完美地创建了表格(正如我在我的数据库中检查过的那样)。 7)我检查了nginx error.log ,结果显示index.html缺失。 8)所以为了检查,我在公共目录中添加了index.html文件,浏览器正确显示了内容。 9)但是我的登陆页面是家庭控制器中的index.html.erb,所以在路径文件中我做了一些修改但是浏览器的输出没有变化。 10)我注意到error.log和production.log没有立即更新。 我不知道为什么。 11)我需要帮助让nginx显示我的index.html.erb文件并将其与rails app连接。 数据库配置正确。 12)我的nginx配置文件是: server { listen 80 default_server; server_name digital_ocean_ip; passenger_enabled on; rails_env production; root /home/myapp/myapp/current/public; # redirect server error pages to the static page /50x.html error_page 500 502 503 504 /50x.html; […]

一个月Rails – 无效的电子邮件或密码

我花了大约一个星期的时间在“Mattan Griffel的一个月的路轨”上工作。 出于某种原因,当我返回时,密码或电子邮件对我的localhost:3000无效。 Mattan带领我们完成了使用email: user@example.com注册我们的localhost页面的过程email: user@example.com和password: foobar ,但它现在对我不起作用。 这可能是我在sublime中出现语法错误的错误,或者可能是什么问题? 这是终端在没有通过时读取的内容: Started POST “/users/sign_in” for 127.0.0.1 at 2013-06-06 13:53:44 -0600 Processing by Devise::SessionsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”8rUKRPLsIttdHhv49tgT8KcvKbjT9mMP/lP5M/N8uPQ=”, “user”=>{“email”=>”user@example.com”, “password”=>”[FILTERED]”, “remember_me”=>”0”}, “commit”=>”Sign in”} User Load (0.3ms) SELECT “users”.* FROM “users” WHERE “users”.”email” = ‘user@example.com’ LIMIT 1

用户档案的联系表格

我一直在努力想办法完成这个function。 目前我有一个配置文件的用户。 还有一个通用的Contact表单模型,它是无表格的,不会向数据库保存任何内容。 我的目标是建立一个通用联系表单,我可以在其中链接单个用户配置文件上的联系人按钮。 提交时的联系表单将发送到配置文件属性中指定的用户电子邮件。 例如,配置文件有一个字段t.string contact_email。 目前我已经设置了联系人模型,可以将其发送到一个单独的电子邮件。 主要是应用程序所有者。 class ContactMailer “stephen@example.com” def contact_me(msg) @msg = msg mail from: @msg.email, subject: @msg.subject, body: @msg.content end end 我的目标是简单地链接 default :to => “stephen@example.com” 喜欢的东西 default :to => “@profile.contact_email” 我不知道如何为表单指定用户或者是否可能。 该过程必须包括一旦访问者点击联系我们,表单将获取个人资料电子邮件并将其用作收件人。 对不起,如果这看起来像我没有任何表格来回答我只是在寻找可能从哪里开始或如何完成的提示。

Devise中的LoadError :: RegistrationsController #create(无法加载此类文件–bcrypt_ext)。 为什么我会收到此错误?

我正在使用ruby 2.2.4。 我在安装Devise gem之后尝试注册时遇到此错误。 我曾经使用过ruby 2.1.5时从未遇到过这个错误。 ruby版本是错误的原因吗? 更新:这是我的gemfile的样子,我正在使用Windows 7 Professional 64位 source ‘https://rubygems.org’ gem ‘rails’, ‘4.2.5.1’ gem ‘sqlite3’ gem ‘sass-rails’, ‘~> 5.0’ gem ‘uglifier’, ‘>= 1.3.0’ gem ‘coffee-rails’, ‘~> 4.1.0’ gem ‘jquery-rails’ gem ‘turbolinks’ gem ‘jbuilder’, ‘~> 2.0’ gem ‘simple_form’, ‘~> 3.2’, ‘>= 3.2.1’ gem ‘country_select’, ‘~> 2.5’, ‘>= 2.5.1’ gem ‘devise’, ‘~> 3.5’, ‘>= […]

在Rails中检查和validation非模型参数的位置

你在哪里检查Ruby On Rails中不是模型属性的URL参数(如page,per_page,sort_mode)? 在控制器或模型中? 例如,在进行更复杂的数据库查询时,您是否会检查参数并可能在控制器中设置默认值,然后执行MyModel.search(page, per_page, order, sort_mode, query) ,或者您是否在内部设置validation模型,只是传递非操纵的参数MyModel.search(params) ? 那么如何将该参数报告回视图? 例如,sort_mode参数应该在视图上为排序方向生成一个小箭头。 你检查并清理params散列并从params获取视图中的数据,或者你是否使用自己的实例变量?

使用ActiveRecord查询进行百分比计算的难度

我有一个ActiveRecord模式,PurchaseSummary,我inheritance了,我不能改变,看起来像这样: purchase_summaries date date_of_purchase integer number_of_purchases boolean coupon_used 例如,11月1日,有800次购买,500次没有优惠券,300次有优惠券,11月2日,600次购买没有优惠券,100次购买,因此数据库中的行如下所示: 2011-11-01, 500, false 2011-11-01, 300, true 2011-11-02, 600, false 2011-11-02, 100, true 例如,11/1的总购买量为800和11/2 700。 问题:我想构建一个每天返回的查询,使用优惠券的购买百分比,或 2011-11-01, 0.375 2011-11-02, 0.142