标签: ruby-on-rails-4

Rails,通过相关记录查找.

在我的应用程序中,我有两个模型:

class Address < ActiveRecord::Base
  belongs_to :location
end

class Location < ActiveRecord::Base
  #it has field city:string
  has_one :address
end
Run Code Online (Sandbox Code Playgroud)

现在我想找到所有解决城市字段的地点都有价值:"测试".我怎样才能做到这一点?提前致谢.

activerecord ruby-on-rails ruby-on-rails-4

-1
推荐指数
1
解决办法
72
查看次数

如何使用正则表达式从字符串中删除前两个点?

我有字符串A.B.C No.example/23,我想删除前两次出现的点,但保持第三个点.输出应如下所示:

ABC No. example/23
Run Code Online (Sandbox Code Playgroud)

我可以使用什么正则表达式来完成删除第一个点的任务?

regex ruby-on-rails-4

-1
推荐指数
1
解决办法
366
查看次数

查找标有ALL标签的帖子

我有一个PostTag模型通过Tagging模型加入has_many :through

params[:tag_ids]从我的表单传入,我正在尝试获取所有标记有所有标记的帖子(不仅仅是标记中的任何一个).

我正在尝试以下方法:

@ftags = params[:tags_ids]

@objArray = Array.new

@ftags.each do |tag| 
  @array = Tagging.where("tag_id=#{tag}")
  @objArray.push @array
end
Run Code Online (Sandbox Code Playgroud)

...现在我想做的是以某种方式组合这些查询以获得正确的帖子.在我只有两个查询之前,我曾经和merge命令结合使用,如下所示:

@result = @query1.merge(@query2)
Run Code Online (Sandbox Code Playgroud)

...但是现在我有一些动态的查询,我仍然希望最终将它们组合起来.如何在特定列的特定值的循环内进行合并?

activerecord ruby-on-rails ruby-on-rails-4

-1
推荐指数
1
解决办法
120
查看次数

如何向该哈希添加“方法”?

我正在编写自定义 OAuth2 策略。我需要向expired?哈希响应添加一个方法,但我不知道该怎么做。我得到的响应给了我一个时间直到到期,但不是过期的方法本身。

在此处输入图片说明

我需要添加一个过期的?方法,不知道如何。有什么帮助吗?

hash ruby-on-rails oauth-2.0 omniauth ruby-on-rails-4

-1
推荐指数
1
解决办法
460
查看次数

检查句子是否包含数组中的任何单词

splitDescription = work.workdescription.downcase.split(' ')

keywords = ['teamwork', 'developed', 'enhanced', 'transformed', 'achieved','grew', 'introduced', 'project', 'awarded',
             'planned','supervised','created','designed','discovered','evaluated','promoted','represented','completed',
             'devised','liaised','controlled','researched','organised','achieved','managed','analysed','assessed','conducted',
             'solved','responsible for','responsibilities']

splitDescription.select {|word| word.include?(keywords)}.each do |word|
    new_score += 0.5
end
Run Code Online (Sandbox Code Playgroud)

我有一个splitDescription拆分并存储描述.

我想看看是否有任何关键字都在splitDescription和每个keywordsplitDescriptionnew_score0.5上升.

我正在尝试此代码,但它无法正常工作.

ruby ruby-on-rails ruby-on-rails-4

-1
推荐指数
1
解决办法
343
查看次数

Rails 中同一个模型的多个关联

比方说,我有一个模型,狗和狗的每一个正好有2猫“敌人”,enemy1而且enemy2,我怎么写迁移文件,这样我可以调用dog.enemy1来检索第一个敌人并dog.enemy2检索第二个敌人?我试过这个:

create_table :dog do |t|
    t.string :name
    t.timestamps null: false
    end
    add_index :dog, :name

    add_foreign_key :dogs, :cats, column: :enemy1_id
    add_foreign_key :dogs, :cats, column: :enemy2_id
end
Run Code Online (Sandbox Code Playgroud)

我也用该t.references方法尝试过,但无法让它工作。一直在研究这个问题几个小时。它在开发中运行良好,但不适用于 Heroku Postgres。我得到的错误是

ActiveRecord::StatementInvalid: PG::UndefinedColumn: ERROR:column     "enemy1_id" referenced in foreign key constraint does not exist.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

postgresql activerecord ruby-on-rails heroku ruby-on-rails-4

-1
推荐指数
1
解决办法
1746
查看次数

如果您已登录但不是帐户成员,我如何执行 before_action 进行重定向

我正在尝试在我的控制器中创建一个 before_action,以便只有帐户中的成员(用户)才能查看和编辑与帐户相关的内容。目前,如果我更改浏览器上的 URL,我可以查看和编辑用户不是成员的帐户。

这是我的讨论_控制器:

    class DiscussionsController < ApplicationController
  before_action :set_discussion, only: [:show, :edit, :update, :destroy]
  before_action :authenticate_user!

  # GET /discussions
  def index
    @newactivitys = Newactivity.all.order(created_at: :desc).limit(6)
    @pagy, @discussions = pagy(Discussion.joins(:posts).group('discussions.id').order('MAX(posts.created_at) DESC'))
  end

  # GET /discussions/1
  def show
    @newactivitys = Newactivity.all.order(created_at: :desc).limit(6)
  end

  # GET /discussions/new
  def new
    @discussion = Discussion.new
    @discussion.posts.new
    @newactivitys = Newactivity.all.order(created_at: :desc).limit(6)
  end

  # GET /discussions/1/edit
  def edit
    @newactivitys = Newactivity.all.order(created_at: :desc).limit(6)
  end

  # POST /discussions
  def create
    @newactivitys = Newactivity.all.order(created_at: :desc).limit(6)
    @discussion = Discussion.new(discussion_params)
    @discussion.posts.each{ |post| …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems ruby-on-rails ruby-on-rails-3 ruby-on-rails-4

-1
推荐指数
1
解决办法
1284
查看次数

IRB控制台和rails应用程序评估'或'的方式不同

在我尝试编写具有高可读性的代码时,我一直使用orand运算符作为||和的同义词&&.虽然,现在我已经了解or并且and有不同的应用.http://devblog.avdi.org/2010/08/02/using-and-and-or-in-ruby/

令人困惑的是在我的rails应用程序和IRB控制台中运行以下代码时的区别.

在IRB:

var = false or true
# => true
Run Code Online (Sandbox Code Playgroud)

在我的rails应用程序中:

var = false or true
# => false
Run Code Online (Sandbox Code Playgroud)

简而言之,似乎or在IRB和实际的rails应用程序中没有相同的优先级.这令人困惑和误导.有什么理由吗?

ruby boolean ruby-on-rails irb ruby-on-rails-4

-2
推荐指数
1
解决办法
50
查看次数

Rails用户登录,只有garant访问页面

我有一个rails应用程序并编写了一个简单的登录脚本.

登录检查输入的密码是否与数据库中的哈希密码相同.

然后我将用户ID保存到Session中.

现在我希望这些页面只是可变的,或者只有在用户进入时才可以访问..

我怎么能做到这一点?

感谢帮助

ruby ruby-on-rails ruby-on-rails-4

-2
推荐指数
1
解决办法
47
查看次数

去掉 .来自十进制红宝石

我有一个十进制列price.我有两个价格:10.0011.50

我需要转变

10.001000

11.501150

我怎么能在控制器中做到这一点?

ruby ruby-on-rails ruby-on-rails-4

-2
推荐指数
1
解决办法
416
查看次数