问题标签 [ruby-on-rails-4.1]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Rails 4中自定义页面的自定义路由
我有一个应用程序,其父资源 (has_many) 的模式和子资源 (belongs_to) 的片段。我的愿望是为特定页面构建几个自定义路由,我想知道最好的方法。现在,这就是我所拥有的工作,但我想知道是否有更好的方法,因为我阅读的关于自定义路由的文章告诉我这不是一个好习惯。
我故意不嵌套资源,因为片段需要独立存在,并且需要在其父模式的上下文中查看。
目标是能够创建一些自定义视图,如下所示:
路线.rb
ruby-on-rails - rails 4.1 无法通过 capistrano 3 部署
使用 capistrano 部署我的 Rails 应用程序时出现非常奇怪的错误。有时它是部署的,有时不是。例如,我在 css 中添加了一些东西(只有一个字符串),例如.my_some_class{width:10px}
,在部署失败之后。在我添加这个之前 - 它部署好了。我确定没有其他任何改变,因为我进行了仅包含一串 css 的实验性提交。我的配置:
部署日志结束:
ruby - 保持与 Minitest v4 的兼容性,测试 Rails 4.1
我正在开发一个 Ruby gem,它支持多个版本的 Rails,至少从 3.2 到 4.1,并通过 minitest 使用不同的 Rails 版本的单独 gemfile 进行测试。随着 Rails 4.0 开始指定对 minitest 的依赖,~> 4.2
并在 4.1 中将其添加到~> 5.1
,将 rails 作为依赖似乎决定了 minitest 的安装版本和 gem 本身的测试设置。
这是一个问题,因为 Minitest 5.x 与 4.x 向后不兼容,主要是MiniTest::Unit::TestCase is now Minitest::Test.
我正在寻找一种优雅的方式来保持兼容性 - 我看过的其他 gem 似乎只是破坏了兼容性,例如minitest-rails:
有关在 Rails 3.0 到 4.0 中使用 minitest-rails 的信息,请参阅 1.x 分支的 README
两个可能的解决方案是:重新定义缺失的类,
或定义一个共同的父类来继承,
但是关于这两种方法的优缺点或解决此问题的其他宝石示例的反馈会很棒。
ruby-on-rails - ActiveRecord::ReadOnlyRecord 父级只读时引发异常
我有以下两个模型:
相关的关联有点复杂,但是是客户 -> 钱包 -> 篮子 -> 门票。
当我调用admit
属于我们客户的 ID 为 -1(只读)的票证实例时,我得到了一个ActiveRecord::ReadOnlyRecord
异常。
我对造成这种情况的原因感到困惑,因为机票和客户都没有任何before_update
回调。如果我改变
至
那么一切都很好。似乎有些东西要么试图更新客户,要么至少检查它是否是只读的。
我已经使用 逐步完成了保存过程byebug
,但找不到任何有用的东西。
什么可能会检查关联模型是否是只读的,我该如何解决这个问题?在这里使用委托是最好的选择吗?
编辑添加:
还包括我之前省略的 SparkCast。从我的票证模型中删除该cast_on
方法正在解决问题。
回溯:
ruby-on-rails - 如何获取定义的 ActiveAdmin 资源类的所有 member_action 方法的列表
我正在 Rails 4.1 中制作一个脚本,该脚本正在读取所有 ActiveAdmin 资源类及其 member_action 方法,但是如何在类中获取其他定义的方法?该脚本的目标是使用类中定义的方法获取所有资源,以便在数据库中设置管理员用户权限
ruby-on-rails - 使用 .env 文件在生产环境中设置 SECRET_KEY_BASE
我.env
在生产中的根文件夹中有一个文件。该文件定义了SECRET_KEY_BASE
在config/secrets.yml
. 问题是我无法.env
在config/secrets.yml
. 我试过使用dotenv
gem 没有成功。
关于如何在生产中做到这一点的任何想法?
我不想webmaster
在生产服务器上为我的用户全局设置它。该SECRET_KEY_BASE
值只能由应用程序访问。
我正在使用导轨 4.1。
ruby-on-rails - 按字段及其值排序
如何按字段及其值排序?例如,假设我有 10 条记录,其中:
- 2 条记录处于活动状态 (
status
isactive
) 并且favorite
istrue
- 2 条记录处于活动状态 (
status
isactive
) 并且favorite
isfalse
- 3 条记录已完成 (
status
iscompleted
) 并且favorite
istrue
- 3 条记录已完成 (
status
iscompleted
) 并且favorite
isfalse
我怎样才能把记录按上面的顺序排列?那是,
- 活跃和喜爱 - 真实
- 活跃和喜爱 - 错误
- 完成并最喜欢 - 真实
- 已完成并最喜欢 - 错误
postgresql - Postgres :hstore 和 first_or_create
我正在使用单表继承,:hstore
如下所述:http: //www.devmynd.com/blog/2013-3-single-table-inheritance-hstore-lovely-combination(基本上,继承模型的所有属性都被存储在 :hstore 表中)
假设我有一个继承 Entity 的 Person 类,并且:hstore
包含与 Person 相关的信息的表的名称称为“info”。以下工作正常:
但以下失败:
失败是由以下SQL语句引起的
错误是
有人知道是否有解决此问题的方法吗?我应该使用另一种方法吗?现在我正在使用 find 然后分别创建,这很好(只需多写几行)。
谢谢!
ruby-on-rails - Rails 4.1 secrets.yml 错误
刚刚升级到 Rails 4.1 并且正在使用secrets.yml
.
这是它的样子:
当我重新启动服务器并访问任何页面时,在我的浏览器中出现“内部服务器错误”。
在我的日志文件中,我看到:
关于可能导致这种情况的任何想法?
我尝试了 secrets.yml 文件的多次迭代,甚至将secret_key_base
单引号括起来'somelongasskeyhere'
,但那不起作用。
更新 1
所以看起来问题可能在于 finnicky YAML 的程度。我认为这与我输入的间距和制表符有关,但我似乎无法让它完美。现在我在该行的不同位置遇到另一个错误。
在重新做一些空格以仅使用空格键 4 次之后,与设置为 4 个空格的制表符相比,我现在得到了一个不同的错误:
其中引用了这一行:
更新 2
这肯定与我的间距有关,因为一旦我复制并粘贴了这个文件 - https://github.com/RailsApps/rails-devise/blob/master/config/secrets.yml - 到我的并替换了key_base和我的一样,一切都很好。
ruby-on-rails - 在 Rails 4.1 中进行动作缓存的推荐方法是什么
我现在正在从 Rails 3.2 升级到 Rails 4.1。我发现它cache_action
已从核心中删除,并且在官方指南actionpack-action_caching gem
中建议这样做。但是在 gem 的 README 中,我看到了NOTE: It will continue to be officially maintained until Rails 4.1.
.
那么在 Rails 4.1 中进行动作缓存的正确和推荐方法是什么,或者如果没有其他支持的 gem,我们现在无法在 Rails 4.1 中做到这一点?
非常感谢。