在我的应用程序中,我有两个模型:
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)
现在我想找到所有解决城市字段的地点都有价值:"测试".我怎样才能做到这一点?提前致谢.
我有字符串A.B.C No.example/23,我想删除前两次出现的点,但保持第三个点.输出应如下所示:
ABC No. example/23
Run Code Online (Sandbox Code Playgroud)
我可以使用什么正则表达式来完成删除第一个点的任务?
我有一个Post和Tag模型通过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)
...但是现在我有一些动态的查询,我仍然希望最终将它们组合起来.如何在特定列的特定值的循环内进行合并?
我正在编写自定义 OAuth2 策略。我需要向expired?哈希响应添加一个方法,但我不知道该怎么做。我得到的响应给了我一个时间直到到期,但不是过期的方法本身。
我需要添加一个过期的?方法,不知道如何。有什么帮助吗?
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和每个keyword在splitDescription的new_score0.5上升.
我正在尝试此代码,但它无法正常工作.
比方说,我有一个模型,狗和狗的每一个正好有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
我正在尝试在我的控制器中创建一个 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) 在我尝试编写具有高可读性的代码时,我一直使用or和and运算符作为||和的同义词&&.虽然,现在我已经了解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应用程序中没有相同的优先级.这令人困惑和误导.有什么理由吗?
我有一个rails应用程序并编写了一个简单的登录脚本.
登录检查输入的密码是否与数据库中的哈希密码相同.
然后我将用户ID保存到Session中.
现在我希望这些页面只是可变的,或者只有在用户进入时才可以访问..
我怎么能做到这一点?
感谢帮助
我有一个十进制列price.我有两个价格:10.00和11.50
我需要转变
10.00 成 1000
11.50成 1150
我怎么能在控制器中做到这一点?
ruby-on-rails-4 ×10
ruby ×5
activerecord ×3
boolean ×1
hash ×1
heroku ×1
irb ×1
oauth-2.0 ×1
omniauth ×1
postgresql ×1
regex ×1
rubygems ×1