Tag: ruby on rails

在开发中禁用Sprockets资产缓存

我正在使用Rails 3.2.13和Rails Asset Pipeline。 我想使用资产管道,所以我可以使用SASS和CoffeeScript和ERB作为我的资产,并让Pipeline自动编译它们,所以我不能在开发中关闭管道。 我不是在开发中预编译资产,甚至没有public/assets/目录。 但是,当我对包含的文件进行更改时,例如对_partial.html.erb文件中包含(呈现)的_partial.html.erb文件进行更改,而不更改包含本身的文件(在此示例layout.html.erb ),Sprockets没有检测到更改并使缓存无效,所以我不断获得相同的陈旧文件。 当我在积极开发中执行此操作时,我想禁用任何资产缓存,以便我可以对每个请求进行更改,但我无法弄清楚如何执行此操作。 我在development.rb设置了以下所有内容development.rb : config.action_controller.perform_caching = false config.action_dispatch.rack_cache = nil config.middleware.delete Rack::Cache config.assets.debug = true config.assets.compress = false config.cache_classes = false 尽管如此,即使这样,文件也会显示在tmp/cache/assets/和tmp/cache/sass/并且在将来的请求中无法进行更改。 现在我每次想要看到更改时都必须手动删除这些目录。 不幸的是,资产管道RoR指南的How Caching Works部分的全部内容是: Sprockets使用默认的Rails缓存存储来缓存开发和生产中的资产。 TODO:添加有关更改默认商店的更多信息。 那么,我如何让Sprockets按需编译资产但不缓存结果呢?

param丢失或值为空:user rails 4

当我尝试提交我的注册表单时,我收到以下错误。 param丢失或值为空:user def user_params params.require(:user).permit(:name, :email, :password, :password_confirmation) end 以下是要求: {“utf8″=>”✓”, “authenticity_token”=>”YX0+4AeWlGWJiQZgbhV9cxi6TUCoibZfwh95BrK9iCQ=”, “name”=>”asasa”, “email”=>”asasas@asas.com”, “password”=>”[FILTERED]”, “confirm_password”=>”[FILTERED]”, “commit”=>”Register”} 以下是我的看法

如何解码ruby中的Rijndael(用VB.net编码)

我正在使用Rinjael在VB.NET中进行编码,需要在Ruby中进行解码。 我的VB.NET加密类看起来像这样: Private Class Encryptor Private symmetricKey As System.Security.Cryptography.RijndaelManaged Private iVector As Byte() Private Key As Byte() Public Function encrypt(ByVal data As String) As String Try Dim plainTextBytes As Byte() = System.Text.Encoding.ASCII.GetBytes(data) Dim encryptor As System.Security.Cryptography.ICryptoTransform = symmetricKey.CreateEncryptor(Key, iVector) Dim memoryStream As New System.IO.MemoryStream Dim cryptoStream As System.Security.Cryptography.CryptoStream = New System.Security.Cryptography.CryptoStream(memoryStream, encryptor, System.Security.Cryptography.CryptoStreamMode.Write) cryptoStream.Write(plainTextBytes, 0, […]

Rails查询通过仅限于最新记录的关联?

class User has_many :books 我需要一个返回的查询: 最近一本书的用户:complete => true。 即如果用户最近的书有:complete => false,我不希望它们出现在我的结果中 。 到目前为止我有什么 User.joins(:books).merge(Book.where(:complete => true)) 这是一个很有希望的开始,但没有给我我需要的结果。 我尝试添加.order(“created_on desc”).limit(1) 到上面的查询结束但是当我期待很多时,我最终只得到一个结果。 谢谢!

Rails – 无法运行app:无法加载EventMachine C扩展;

当我在Lion OS X上运行应用程序时,我收到此错误: Unable to load the EventMachine C extension; To use the pure-ruby reactor, require ’em/pure_ruby’ /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in `require’: no such file to load — rubyeventmachine (LoadError) from /Users/adam/.rvm/gems/ruby-1.9.2-p290/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in `’ from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require’ from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `block (2 levels) in require’ from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each’ from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `block in require’ from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each’ from /Users/adam/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require’ from […]

使用gmaps4rails动态加载Google Maps Markers

如何仅使用gmaps4rails加载地图边界内的标记? 当然,在平移和/或缩放后加载新的。 与此直接相关,我如何获得地图的当前边界和缩放级别?

Rails – 每当gem – 动态值

可以说我有这样的cronjob: every 1.day, :at => ‘4:30 am’ do runner “MyModel.task_to_run_at_four_thirty_in_the_morning” end 虽然,我想让’1.day’更具动态性,例如通过管理页面中的表单更改值。 然后它可能看起来像这样: every Constant.find(2).value, :at => ‘4:30 am’ do 要么 @const = Constant.find(2) every @const.span, :at => @const.time do 任何人都可以想出如何使这项工作? 显然,这样做的原因是我可以使用存储在我网站上的数据库中的值,就像消息说的那样

如何将Ruby对象转换为JSON

我想做这样的事情: require ‘json’ class Person attr_accessor :fname, :lname end p = Person.new p.fname = “Mike” p.lname = “Smith” p.to_json 可能吗?

如何在rails上的ruby中创建向导表单

我正在尝试了解在轨道上的ruby中提取向导表单的最佳选项。 理想情况下,我想拥有它,以便应用程序注册有一个后退和下一个按钮,允许用户按步骤提交数据。 因此,在第1步中,他们可以填写联系信息。 一旦完成,他们可以点击下一步并在第2步填写付款信息等。如果他们犯了错误,他们可以点击并更正它。 将需要一些步骤,而其他步骤则不需要,但您必须将其提交到最后一步以将数据提交到数据库以进行注册。 然后,他们需要能够在完成后以相同的方式返回并填写过去的步骤。 (例如:如果他们点击个人资料链接,他们可以以相同的方式重新完成步骤,因为他们不想立即完成所有步骤。也许在完成注册步骤之前给出一个跳过按钮? )。 我还需要validation已经完成的步骤,以防止他们进入下一步,直到纠正或完成。 选项1)我注意到ajax已被推荐作为stackoverflow上其他问题的一个选项。 我遇到的唯一问题是,如果禁用了javascript,用户将无法注册。 理想情况下,我希望它能够在轨道上使用ruby,但是我愿意使用任何必要的东西来使它工作。

Ruby:创建日期范围

我正在寻找一种优雅的方式来制作一系列日期时间,例如: def DateRange(start_time, end_time, period) … end >> results = DateRange(DateTime.new(2013,10,10,12), DateTime.new(2013,10,10,14), :hourly) >> puts results 2013-10-10:12:00:00 2013-10-10:13:00:00 2013-10-10:14:00:00 该步骤应该是可配置的,例如每小时,每天,每月。 我希望times具有包容性,即包括end_time 。 其他要求是: 应保留原始时区,即如果它与当地时区不同,则应保留原始时区。 应该使用适当的推进方法,例如Rails :advance ,来处理像月份可变天数这样的事情。 理想情况下,性能会很好,但这不是主要要求。 有优雅的解决方案吗?