Tag: ruby on rails 3.1

Rails,Ruby 1.9.3p0和mysql gem

我正在运行CentOS6并从源代码安装Ruby,以及Rails和其他一些工作人员。 ruby -v ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] rails -v Rails 3.1.3 一些gem: ***当地gem*** 动作管理员(3.1.3,2.3.14) actionpack(3.1.3,2.3.14) activemodel(3.1.3) activerecord(3.1.3,2.3.14) activeresource(3.1.3,2.3.14) activesupport(3.1.3,2.3.14) archive-tar-minitar(0.5.2) arel(2.2.1) bigdecimal(1.1.0) bouncy-castle-java(1.5.0146.1) 建设者(3.0.0) 捆绑(1.0.21) 代码(0.9.7) 列(0.3.5) edavis10-object_daddy(0.4.3) erubis(2.7.0) fastercsv(1.5.0) ffi(1.0.11) 徒步旅行(1.2.1) 锄头(2.12.4) i18n(0.6.0,0.4.2) io-console(0.3) jruby-openssl(0.7.4) json(1.5.4) linecache19(0.5.13) 邮件(2.3.0) 元类(0.0.1) 哑剧型(1.17.2) minitest(2.5.1) 摩卡(0.10.0) multi_json(1.0.4) mysql(2.8.1) mysql2(0.3.11,0.2.7) net-ldap(0.2.2) 多语言(0.3.3) 机架(1.3.5,1.1.2) rack-cache(1.1) 机架式(0.8.3) rack-ssl(1.3.2) 机架测试(0.6.1) […]

Ruby on Rails:如果post没有保存,我将如何留在同一页面?

def create @addpost = Post.new params[:data] if @addpost.save flash[:notice] = “Post has been saved successfully.” redirect_to posts_path else flash[:notice] = “Post can not be saved, please enter information.” end end 如果post没有保存,那么它会重定向到http://0.0.0.0:3000/posts ,但我需要留在页面上,带有文本输入字段,以便用户可以输入数据。 发布模型 class Post true validates :content, :presence => true validates :category_id, :presence => true validates :tags, :presence => true end 新方法 def new […]

在Ruby中使用冒号排序方法

我正在尝试将Bubble排序方法实现为Ruby的简单编码问题,但我遇到了一些麻烦。 我理解的想法是查看第一个元素的值并将其与第二个元素的值进行比较,然后相应地交换它们,但我似乎无法在实际问题中这样做。 有人愿意提供一个关于如何在Ruby中工作的简短示例吗?

弹性搜索/轮胎:如何映射到关联属性?

我正在使用Tire进行弹性搜索。 在我的应用程序中,我有2个模型; 价格和产品。 我正在尝试搜索我的Price类并使用它所属的产品:name搜索字段的:name属性。 现在,如果我有一个名为Product 1并输入“pro”,“prod”或“duct”,则不会出现任何结果。 但输入“product”或“Product”会显示结果。 我相信问题在于我的映射。 我查看了查询及其: …localhost:3000/search/results?utf8=%E2%9C%93&query=product 当我认为它应该是: …localhost:3000/search/results?utf8=%E2%9C%93&query:product=product 从这个问题来看: ElasticSearch映射不起作用 我不知道如何让我的params[:query]只接受product.name 。 我尝试使用: string params[:query], default_field: “product.name”但是没有用。 我不想使用_all字段。 这是我的代码: Price.rb include Tire::Model::Search include Tire::Model::Callbacks def self.search(params) tire.search(load: true, page: params[:page], per_page: 20) do query do boolean do must { string params[:query] } if params[:query].present? must { term :private, false } end […]

将实例变量初始化为数组 – Ruby

我正在尝试初始化和实例变量作为数组,如下所示: class Arch < ActiveRecord::Base attr_accessor :name1 def initialize @name1 = [] end def add_name1(t) @name1 << t end end 当我在控制台会话中尝试Arch.new时,我得到(Object不支持#inspect)。 这是怎么回事? 如何创建实例数组变量? 我试着像这样: class Arch < ActiveRecord::Base attr_accessor :name1 def after_initialize @name1 = [] end def add_name1(t) @name1 << t end end 而我的@ name1仍然是一个NilClass。 :/

如何在SimpleForm中处理单表inheritance,以便单个帮助程序处理所有模型?

我们有一个模型“EventSession”,它有几个通过STI的子类型,包括“NetworkingEventSession”和“DiningEventSession”…我们希望能够在一些情况下从一个控制器和一个视图处理所有这些,但是简单的forms正在寻找在simple_form_for @session中迭代并尝试使用我们当前没有定义的networking_event_session_path助手,而不是常规的event_session_helper路径时,在对象上,这可以正常工作并且是我们想要的。 我可以定义新路由来获取每个子类型的帮助器,所有路径都指向相同的路径,但是这将非常unDRY,我们可能并不总是希望它们转到主事件会话路径…是否有某种方法可以覆盖simple_form_for在这个特定的视图中明确告诉它使用什么样的模型/类?

Ruby / Rails 3.1:给定一个URL字符串,删除路径

给定任何有效的HTTP / HTTPS字符串,我想解析/转换它,使得最终结果正好是字符串的根。 给定的URL: http://foo.example.com:8080/whatsit/foo.bar?x=y https://example.net/ 我想结果: http://foo.example.com:8080/ https://example.net/ 我发现URI :: Parser的文档不是非常平易近人的。 我最初的,天真的解决方案是一个简单的正则表达式: /\A(https?:\/\/[^\/]+\/)/ (即:匹配协议后的第一个斜杠。) 欢迎思考和解决方案。 如果这是重复的,请道歉,但我的搜索结果不相关。

Capistrano – 无法部署我的database.yml

当我尝试使用capistrano部署我的应用程序时,我会收到此错误: 失败:IP_ADDR上的“sh -c’cp /var/www/my_app/releases/20120313115055/config/database.staging.yml /var/www/my_app/releases/20120313115055/config/database.yml’” 我的database.yml即空, database.staging.yml : production: adapter: mysql2 encoding: utf8 reconnect: false database: my_db pool: 15 username: my_user_name password: my_pass host: localhost 在/ confing / deploy中是文件“production”“staging” 我在这里缺少什么/我应该在哪里寻找失败? 服务器上数据库的凭据应该是正确的。 编辑 – 这是我的部署 set :application, “my_app” set :repository, “https://IP_ADDR/svn/my_app” set :scm, :subversion set :scm_username, ‘my_name’ set :scm_password, ‘my_pass’ default_run_options[:pty] = true set :user, “my_name” […]

使用ActiveAdmin的多步骤表单?

是否可以使用ActiveAdmin创建多步骤表单? 如果没有,是否可以在提交表单后添加另一个重定向的页面(一个不是默认索引,显示或表单页面)?

如何使用mysql2 gem创建预准备语句?

我尝试使用谷歌来回答这个看似简单的问题,但令我惊讶的是,它没有帮助。 我的rails应用程序中的代码目前正在使用mysql gem的’prepare’方法。 切换到mysql2时,会出现错误: undefined method `prepare’ for #<Mysql2::Client::0……. 所以我尝试寻找’prepare’方法的一个版本,但到目前为止这个搜索都没有成功。 任何人都可以帮我解决这个问题吗? 编辑:如果这是不可能的,有人可以让我知道是否有办法简单地用mysql2库中的东西参数化我的查询?