Questions tagged «ruby-on-rails»

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



1
从Rails Controller访问资产路径
我正在共享配置yml文件客户端,我也需要在服务器端加载,我将其放在app / assets / javascripts / configuration.yml中 我可以在视图内使用#{asset_path'configuration.yml'}来获取路径,但不能在控制器内使用。我可以使用“#{Rails.root} /app/assets/javascripts/configuration.yml”直接访问,但是在部署文件名时会附加摘要字符串。 如何从控制器获得相同的路径?


5
在Rails的link_to主体中嵌入HTML
在使用link_to方法生成的链接的主体中获取嵌入式HTML的最佳方法是什么? 我基本上想要以下内容: <a href="##">This is a <strong>link</strong></a> 我一直在尝试按照Rails和<span>标记中的建议进行操作,但是没有运气。我的代码如下所示: item_helper.rb def picture_filter #...Some other code up here text = "Show items with " + content_tag(:strong, 'pictures') link_to text, {:pics => true}, :class => 'highlight' end item_view.html.erb #... <%=raw picture_filter %> #...


7
在ActiveRecord对象中获取属性的类型
我想知道是否有可能以编程方式获取类型(如AR所知-例如在迁移脚本和数据库中)(我知道数据存在于某处)。 例如,我可以处理所有属性名称: ar.attribute_names.each { |name| puts name } .attributes仅返回名称到其当前值的映射(例如,如果未设置该字段,则没有类型信息)。 我在一些地方看到了类型信息: 在脚本/控制台中,输入AR实体的名称: >> Driver => Driver(id: integer, name: string, created_at: datetime, updated_at: datetime) 所以很清楚它知道类型。另外,还有.column_for_attribute,它具有一个attr名称并返回一个列对象-该类型具有埋在基础数据库列对象中的类型,但似乎并不是一种干净的方式来获取它。 我也想知道是否有一种方法可以使新的“ ActiveModel”友好(rails3)并且与数据库详细信息分离(但是类型信息可能不是它的一部分,我似乎无法找出是不是)。 谢谢。

2
在Rails中,require,require_dependency和常量重载有何关系?
如何require与require_dependency不同? 如何require_dependency自动重载开发中的类却require不能自动重载? 我深入研究了RailsActiveSupport::Dependencies和dispatcher.rb代码。我在require_dependency的代码中看到的基本上是将常量添加到autoloaded_constants数组中。但是clear_application每次请求后,它都会在内部调度程序中清除。 有人可以给出清晰的解释或向我指出一些有用的资源吗?


4
JSON文本必须至少包含两个八位字节
我收到此错误,并且找不到该问题的任何合理答案,因此我想写一个问题的摘要。 如果您在irb中运行此代码段: JSON.parse( nil ) 您会看到以下错误: TypeError: can't convert nil into String 我有点期待函数返回nil,而不是返回TypeError。如果使用转换所有输入to_s,则将看到八位字节错误: JSON::ParserError: A JSON text must at least contain two octets! 很好,很好。如果您不知道什么是八位位组,请阅读此文章以获取摘要和解决方案: 什么是JSON八位位组,为什么需要两个八位位组? 解 您要传递的变量是一个空字符串。不要尝试在JSON.parse方法中使用空字符串。 题 因此,现在我知道了错误的原因,应该使用哪种模式来处理此错误?我有点讨厌猴子修补JSON库以允许nil值。任何建议将不胜感激。
70 ruby-on-rails  ruby  json  irb 



2
我如何找出哪个宝石有特定的依赖性?
我注释掉了一个宝石,但是“捆绑安装”仍然无法运行。我如何找出哪个gem依赖sys-proctable? $ bundle install Fetching gem metadata from https://rubygems.org/......... Fetching gem metadata from https://rubygems.org/.. Resolving dependencies... Could not find sys-proctable-0.9.2 in any of the sources $ grep proctable Gemfile #gem 'sys-proctable', '0.9.2', :path => "vendor/gems" $ bundle list Resolving dependencies... Could not find gem 'rspec-rails (= 2.11.0) ruby' in the …

8
如何获取Ruby on Rails中两个DateTime之间的秒数
我有可以对员工进行时间跟踪的代码。它创建了一个计数器来显示员工需要等待多长时间。 这是当前代码: start_time = Time.parse(self.settings.first_clock_in) total_seconds = Time.now - start_time hours = (total_seconds/ 3600).to_i minutes = ((total_seconds % 3600) / 60).to_i seconds = ((total_seconds % 3600) % 60).to_i 这很好。但是由于时间限制在1970年至2038年之间,因此我们尝试将所有时间使用替换为DateTimes。我不知道如何获取两个DateTime之间的秒数。减去它们会生成一个我不知道如何解释的有理数,而减去Times则会得到以秒为单位的差异。 注意:从Ruby 1.9.2开始,时间的硬性限制已被删除。但是,“时间”已针对1823-11-12和2116-02-20之间的值进行了优化。

9
在Delayed_job中手动重试作业
Delayed :: Job的自动重试功能很棒,但是现在有一项我想手动重试的工作。有没有一种方法可以像我这样调用工作本身? Delayed::Job.all[0].perform 或跑步或其他。我尝试了一些事情,并整理了文档,但是不知道如何执行作业的手动重试。

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.