Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

6
Rails 4 LIKE查询-ActiveRecord添加引号
我正在尝试像这样的查询 def self.search(search, page = 1 ) paginate :per_page => 5, :page => page, :conditions => ["name LIKE '%?%' OR postal_code like '%?%'", search, search], order => 'name' end 但是,当它运行时,会添加引号,导致sql语句如下所示 SELECT COUNT(*) FROM "schools" WHERE (name LIKE '%'havard'%' OR postal_code like '%'havard'%')): 这样您就可以看到我的问题。我正在使用从未使用过的Rails 4和Postgres 9,因此不确定它是否与activerecord或postgres无关。 我该如何进行设置,以便'%my_search%'在最终查询中得到满意的结果?

10
如何在rspec请求规范中设置请求标头?
在控制器规格中,我可以这样设置http accept报头: request.accept = "application/json" 但在请求规范中,“ request”对象为nil。那我怎么在这里呢? 我想将http accept标头设置为json的原因是可以这样做: get '/my/path' 代替这个 get '/my/path.json'

3
如何使用Devise设置电子邮件确认?
是否有一个教程可以解释如何从头开始(在开发和生产中)设置Devise的注册确认电子邮件,即,如果没有设置Action Mailer? Google搜索刚刚发现了一堆与此相关的独立片段。没有人能解释得足够多,我不确定它们如何组合在一起。是否有逐步的解释,甚至可以解释初始步骤? 终于成功了。遵循下面接受的答案中的所有步骤,然后将以下内容添加到我的environment.rb文件中: ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :tls => true, :address => "smtp.gmail.com", :port => 587, :domain => "gmail.com", :authentication => :login, :user_name => "[username]", :password => "[password]" }

2
PostgreSQL表太大了?
我正在为我的公司进行RoR项目的设计,而我们的开发团队已经对设计(尤其是数据库)进行了一些辩论。 我们有一个Message需要持久化的模型。这是一个非常小的模型,除了id之外只有三个db列,但是当我们投入生产时,可能会有很多这样的模型。我们每天要查询多达1,000,000次插入。只能通过可索引的两个外键来搜索模型。同样,不必删除模型,但是一旦它们使用了大约三个月,我们也不必保留它们。 因此,我们想知道的是,在Postgres中实现此表是否会带来严重的性能问题?有没有人有使用大型SQL数据库的经验来告诉我们这是否会成为问题?如果是这样,我们应该选择哪种选择?

26
无法停止Rails服务器
我是Rails的新手,正在使用ubuntu机器和rubymine IDE。问题是我无法停止Rails服务器。我试图通过终止Rails进程来停止服务器。但是,当我运行时pgrep -l rails,找不到这样的过程。因此,我只能杀死ruby进程,但是服务器不会停止。 我尝试了./script/server stop(因为我是通过运行来启动的./script/server start),但是那没有用。到处搜寻并找到一些stackoverflow帖子,我试图更改localhost端口的侦听端口,但没有成功。有人可以帮忙吗?

13
如何选中水豚中的复选框?
我正在使用Rspec和Capybara。 如何编写检查步骤checkbox?我已经尝试过check通过价值,但找不到我的checkbox。我不确定该怎么办,因为我实际上拥有相同的ID,但值不同 这是代码: <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="61" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="62" name="cityID"> <input id="cityID" type="checkbox" style="text-align: center; opacity: 0;" value="63" name="cityID">

4
Rails格式化日期
我要向API发布日期,所需的格式如下: 2014-12-01T01:29:18 我可以从模型中获取日期,如下所示: Model.created_at.to_s 返回: 2014-12-01 01:29:18 -0500 如何使用Rails或Ruby将其格式化为所需的T格式,并删除-0500?


24
在Ruby中获取人的年龄
我想知道一个人的生日。now - birthday / 365不起作用,因为有些年份有366天。我想出了以下代码: now = Date.today year = now.year - birth_date.year if (date+year.year) > now year = year - 1 end 还有更Ruby的方法来计算年龄吗?

5
在Rails 3中构建与新
在Rails 3 文档中,build关联方法被描述为与new方法相同,但是具有自动分配外键的功能。直接来自文档: Firm#clients.build (similar to Client.new("firm_id" => id)) 我在其他地方也读过类似的文章。 但是,当我使用new(例如,some_firm.clients.new不带任何参数)时,会自动创建新客户端的firm_id关联。我现在正在控制台中盯着结果! 我想念什么吗?文档是否有点过时(不太可能)?build和之间有什么区别new?

2
Ruby on Rails:从数据库列获取最大值
目前,我可以在数据库上进行直接SQL查询: SELECT MAX(bar) FROM table_name 然后返回该表中的最大值。但是,当我进行在Rails中的等效调用时,它不起作用。我正在打电话: Bar.all(:select => "Max(bar)") 这简单地返回: [#<Bar >] 在我要求的列中,有一系列标识数字,我正在寻找最大的数字。在Rails中还有其他访问方式吗?
125 sql  ruby-on-rails 

21
导轨-设计-处理-devise_error_messages
在我的用户编辑页面中,一行如下: <%= devise_error_messages! %> 问题是这不会以其他应用程序的标准方式输出错误: <% flash.each do |key, value| %> <div class="flash <%= key %>"><%= value %></div> <% end %> 我的问题是,如何获得设计错误消息,使其像其他使用flash.each的消息一样工作? 谢谢。

8
在Rails中,如何使用视图呈现JSON?
假设您位于用户控制器中,并且想要获取显示请求的json响应,那么可以在视图/用户/目录中创建一个名为show.json的文件,并在用户之后#show操作完成后,它将呈现文件。 当前,您需要执行以下操作: def show @user = User.find( params[:id] ) respond_to do |format| format.html format.json{ render :json => @user.to_json } end end 但是,如果您可以创建一个show.json文件,它会像这样自动呈现,那就太好了: def show @user = User.find( params[:id] ) respond_to do |format| format.html format.json end end 这将为我节省大量的悲伤,并且会消除我在控制器中渲染json时得到的那种可怕的肮脏感觉

13
在新的Rails项目中从SQLite更改为PostgreSQL
我有一个Rails应用程序,该数据库的数据库位于SQLite中(开发人员和生产人员)。由于我要迁移到heroku,因此我想将数据库转换为PostgreSQL。 无论如何,我听说不需要从SQLite更改本地开发数据库,​​所以我不需要更改它,但是,如何将生产环境从SQLite更改为PostgreSQL? 以前有没有人做过并且可以帮助您? PS:我不确定这个过程到底叫什么,但是我听说过将数据库从SQLite迁移到PostgreSQL,这需要做些什么吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.