Tag: ruby on rails

RubyInstaller 2.2.1和Rails – Rake无法加载Nokogiri

最近我在Windows上安装了Ruby 2.2.1和新的RubyInstaller。 为了检查一切是否正常工作,我进入了一个rails应用程序并运行了bundle install ,运行正常。 但是,当我使用bunle exec rake test运行bunle exec rake test ,我收到以下错误: rake aborted! LoadError: cannot load such file — nokogiri/nokogiri D:/Dev/Grummle/config/application.rb:7:in `’ D:/Dev/Grummle/Rakefile:4:in `’ LoadError: cannot load such file — nokogiri/2.2/nokogiri D:/Dev/Grummle/config/application.rb:7:in `’ D:/Dev/Grummle/Rakefile:4:in `’ (See full trace by running task with –trace) Bundler说这是Using nokogiri 1.6.5 。 此外,rake任务在Ruby 2.1.5中运行良好。 我很欣赏有关如何解决问题的想法。 谢谢! 🙂

Ruby on Rails最佳实践 – 大型控制器与小型控制器

我需要一些关于Ruby on Rails 最佳实践的信息,特别是对于必须做很多事情的Controller ,因此,一个简单的“show”动作现在就行了。 我知道,它不是很好,我有特定的代码。 这是一个示例代码: def show sound = Sound.find(params[:id]) @xml_path = File.dirname(sound.file.path) s3 = AWS::S3.new( :access_key_id => ‘XXX’, :secret_access_key => ‘XXX’) @url = s3.buckets[‘dev’].objects[sound.file.path[1..-1]].url_for(:read, :expires => 10*60) if sound.id_job != 0 && sound.transcript_progress != 100 @response = Savon.client(“http://srap.php?wsdl”).request(:avance) do soap.body = { :Jeton => “abcdef”, :ID_job => sound.id_job, } end @response = […]

Ruby:创建一个沙盒评估版?

我的Rails应用程序有关于何时应在页面上显示一些内容的复杂规则。 我决定通过在Ruby中编写谓词(简单的“是/否”函数)并将它们存储在数据库中以便随后进行评估来实现这一点。 这很简单。 我主要担心的是安全问题:如果恶意某人弄清楚如何写入数据库,他们可能会在数据库中粘贴任意Ruby代码,然后“ 所有基础都属于我们 ”。 那么是否可以创建一个“沙盒”eval,例如,删除了所有IO操作?

Rails选择随机记录

我不知道我是在这里看错了什么地方或者是什么,但是活动记录是否有检索随机对象的方法? 就像是? @user = User.random 或者……好吧,因为那个方法不存在是有一些惊人的“Rails方式”这样做,我似乎总是冗长。 我也在使用mysql。

如何从ActiveRecord中获取每组的最新记录?

在我的Ruby on Rails应用程序中,我有一个这样的数据库结构: Project.create(:group => “1”, :date => “2014-01-01”) Project.create(:group => “1”, :date => “2014-01-02”) Project.create(:group => “1”, :date => “2014-01-03”) Project.create(:group => “2”, :date => “2014-01-01”) Project.create(:group => “2”, :date => “2014-01-02”) Project.create(:group => “2”, :date => “2014-01-03”) # and so forth… 如何使用ActiveRecord从每个group获取最新记录? 解决方案可能很简单,但我无法理解这一点。 谢谢你的帮助。

无法在Windows 7上安装MySQL2 gem

我在安装时收到以下错误消息,请告诉我是否需要发布更多详细信息。 我按照以下位置的说明操作: https : //github.com/oneclick/rubyinstaller/wiki/Development-Kit 我正在使用ruby 1.9.2p136(2010-12-25)[i386-mingw32]。 这是我得到的: E:\work_desk\trunk>gem install mysql2 -v 0.2.4 Temporarily enhancing PATH to include DevKit… Building native extensions. This could take a while… ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. C:/Ruby192/bin/ruby.exe extconf.rb checking for rb_thread_blocking_region()… yes checking for main() in -llibmysql… no *** extconf.rb failed *** Could […]

Heroku不使用Gmail SMTP发送电子邮件

该应用程序可以正常运行,我正在尝试使用Confirmable with Devise,在我的Rails应用程序上它说电子邮件已发送,但我从未收到它。 我正在通过SMTP配置Gmail。 谢谢。 Heroku日志: 2016-03-27T04:49:23.448947+00:00 app[web.1]: Rendered devise/shared/_links.html.erb (1.0ms) 2016-03-27T04:49:23.449047+00:00 app[web.1]: Rendered devise/sessions/new.html.erb within layouts/application (9.4ms) 2016-03-27T04:49:23.450618+00:00 app[web.1]: Rendered layouts/_navbar.html.erb (0.5ms) 2016-03-27T04:49:23.451085+00:00 app[web.1]: Rendered layouts/_footer.html.erb (0.1ms) 2016-03-27T04:49:23.451438+00:00 app[web.1]: Completed 200 OK in 14ms (Views: 12.2ms | ActiveRecord: 0.0ms) 2016-03-27T04:49:23.949248+00:00 heroku[router]: at=info method=GET path=”/favicon.ico” host=my-task-tracker.herokuapp.com request_id=146e1632-c484-471f-97c3-feaaf1a1b2ed fwd=”108.219.46.125″ dyno=web.1 connect=3ms service=11ms status=304 bytes=133 2016-03-27T04:49:29.128082+00:00 heroku[router]: […]

为什么需要在Rails 3中重新加载代码?

我是一名前PHP开发人员,学习Rails和Sinatra。 在PHP中,每个页面请求都加载了所有必需的文件。 如果我更改了一些代码并刷新了页面,我可以确定代码是新鲜的。 在Rails 3中,Controller代码在每个请求中都是新鲜的。 但是,如果我修改/ lib文件夹中的任何代码,我需要重新启动服务器以使更改生效。 为什么会这样? 这与Ruby的设计方式有关吗? Rails是否进行了一些优化以避免在每个请求上重新加载代码? 谢谢! 编辑:我最感兴趣的是幕后发生的事情。 像Rails和Sinatra这样的框架是否为类做了一些特殊的缓存? 如果是这样,他们做了什么? Ruby中的默认行为是每次请求都重新加载所有代码吗? 为什么我们需要Shotgun for Sinatra等工具( http://sinatra-book.gittr.com/#automatic_code_reloading )?

如何删除mysql数据库中的重复记录?

使用rails或mysql查询删除mysql数据库中重复记录的最佳方法是什么?

tmp中的权限被拒绝

我刚刚使用Ruby 1.9.2部署了一个Rails 3应用程序。 我遇到了几个错误。 application.css没有编译。 所以我将production.rb预编译设置为false; 然后我得到了: cannot generate tempfile ,所以我确实rake tmp:clear ; 现在我得到ActionView::Template::Error (Permission denied – /srv/www/appname/tmp/cache/assets):我无法解决这个问题。 请帮忙。