小编cor*_*ard的帖子

使用SASS和用户指定的颜色

我正在使用Rails 3构建一个网站,让用户拥有不同布局和配色方案的配置文件.我已经在使用SASS,如果我可以做这样的事情,变量将是非常宝贵的......

<link src="base_styles.css" rel="stylesheet">
<link src="color_schemes/users_choice.css" rel="stylesheet">
<link src="layouts/users_choice.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)

...颜色方案定义主要(完全?)SASS变量指定布局中使用的颜色.显然我不能像这样链接SASS或CSS文件,我需要将它们导入SASS.

如何在请求时动态地将SASS文件导入解析器,然后缓存生成的CSS文件以供以后使用?

我已经考虑过在部署中构建各种可能组合的丑陋路线,但如果我想让用户在未来设置自己的颜色,那仍然会让我感到不安.看起来像SASS这样的低调水果,它可能也可以实施.

css ruby-on-rails sass

10
推荐指数
1
解决办法
4005
查看次数

当点/周期处于条件值时,ActiveRecord查询会更改

请参阅底部的更新.我把它缩小了很多.

我还创建了一个讨论这个bug的准系统应用程序:https://github.com/coreyward/bug-demo

我还在官方跟踪器中创建了一张错误票:https://rails.lighthouseapp.com/projects/8994/tickets/6611-activerecord-query-changing-when-a-dotperiod-is-in-condition-值

如果有人可以告诉我如何修补它或解释Rails中发生的情况,我将非常感激.


我有一些奇怪/意外的行为.这让我相信有一个错误(确认这是一个错误将是一个完美的答案),或者我错过了一些正确的东西(或者我不明白).

代码

class Gallery < ActiveRecord::Base
  belongs_to :portfolio
  default_scope order(:ordinal)
end

class Portfolio < ActiveRecord::Base
  has_many :galleries
end

# later, in a controller action
scope = Portfolio.includes(:galleries) # eager load galleries
if some_condition
  @portfolio = scope.find_by_domain('domain.com')
else
  @portfolio = scope.find_by_vanity_url('vanity_url')
end
Run Code Online (Sandbox Code Playgroud)
  • 我有Portfolios哪些可以有多个Galleries.
  • galleriesordinal,vanity_urldomain属性.
  • gallery ordinals被设置为从零起整数.我已经确认这可以通过检查按预期工作Gallery.where(:portfolio_id => 1).map &:ordinal,它会[0,1,2,3,4,5,6]按预期返回.
  • 双方vanity_urldomain …

activerecord ruby-on-rails-3

7
推荐指数
2
解决办法
2938
查看次数

如何阻止或选择不安装 Yarn 依赖项?

我正在使用 Gatsby,它有一长串子依赖项,其中一些我希望永远不允许 Yarn 安装和执行。理想情况下,我希望能够添加每个项目的阻止列表,但我愿意采用其他方法来实现不安装特定包的相同目标,即使这会导致依赖它们的直接依赖项出现错误。

需要明确的是,我不想仅仅安装同一软件包的另一个版本,而是完全阻止它被安装。如果我可以用我控制的包替换它,那只是一个垫片,那也是一个不错的解决方案。

我尝试将resolutions软件包版本设置为null,但这似乎没有影响。

javascript npm gatsby yarnpkg

7
推荐指数
1
解决办法
1605
查看次数

在开发模式下重新加载Rails 3初始化程序

我正在构建一个Rails 3应用程序,用户可以从中选择一个模板并构建一个小网站.我正在尝试在应用程序启动时初始化所有可用模板.这本质上是一个文件,让我自己定义它们,然后调用Template.add(template)它们中的每一个,然后将它们存储在中@@templates,我可以通过它来访问它们Template.find(name).

问题是在开发模式下,我调用的初始化Template.add程序在第一次请求时被加载,然后被清除reload!.我已经读过了config.to_prepare,但它对我不起作用,可能是因为我需要这样的模板:

# template config at app/templates/template_name/template_name.rb
path = File.expand_path(Rails.root + 'app/templates')
Dir[File.join(path, '/*')].each do |template|
  name = File.basename(template)
  require File.join(path, name, "#{name}.rb")
end
Run Code Online (Sandbox Code Playgroud)

我可以做些什么来重新加载这些文件reload!或让它们完全被删除?此外,如果你有一个更好的方法来处理这个问题的建议,我会全力以赴.我仍然在使用Rails,特别是在配置方面.

我通过在类中加载数据暂时避免了这个问题.让我远离这种丑陋,非模块化的肮脏.

ruby ruby-on-rails ruby-on-rails-3

6
推荐指数
1
解决办法
1847
查看次数

生成Braintree收据

我已经将Braintree与我的Rails 3.1应用程序正确集成,我只是想知道生成PDF收据的正确方法是什么,以便用户可以随时从应用程序下载它们.

Braintree 在结算能力之后有发送收据这很好但是看起来他们的API中没有收据支持所以,我想我必须手动生成它,可能检查用户交易/订阅及其状态,是那好吗?有一种更简单的方法吗?任何帮助将不胜感激,谢谢!

pdf-generation ruby-on-rails payment-gateway braintree ruby-on-rails-3

6
推荐指数
1
解决办法
2460
查看次数

图像无法在Chrome/Webkit中呈现

我正在构建一个包含大量图像的网页,这些图像都来自于Limelight CDN上的Rackspace Cloudfiles.有时页面将完成加载,包括图像,Chrome/Webkit将无法呈现一些图像.

Chrome不会在其位置呈现"损坏的图像",如果我检查检查器中的"资源"选项卡,则会列出它们,并且数据全部都已加载.非渲染图像显示与正确渲染图像相同的信息.

这通常发生在我前进页面然后返回(通过历史记录).如果我重新加载页面,它会持续存在,除非我进行硬刷新(Chrome中的⌘⇧R),然后它们都会再次显示正常情况.

我没有加载JavaScript中的图像或类似的任何奇怪的东西,也没有任何隐藏图像的CSS.这只发生在Chrome中,而且我从隐身模式中就不会发生这种情况.

是什么原因引起了这个?如果这是一个错误,我该如何向Chrome团队报告?

更新

我检查了Inspector的Network选项卡中的标题,结果发现,对于渲染的图像,Chrome只显示它的标题元数据,如下所示:

头

对于无法正确呈现的图像,显示元数据以及具有状态的完整请求和响应标头304 Not Modified.


这仍然在发生.在多台计算机上,在几个网站上.关于这一点的一个主题也在谷歌支持论坛上发生.

html webkit google-chrome

5
推荐指数
1
解决办法
3631
查看次数

在生成丰富的博客时,Rails Ruby Gems与纯粹的开发

像jekyll,toto和webby这样的红宝石宝石提供开箱即用的博客类型集成到您的ruby应用程序中.开发富Web博客类型应用程序的另一种方法是使用纯ruby和rails实践自己构建和建模应用程序.(例如,创建文章和用户模型).第一个提供开箱即用的功能第二个选项提供更多的定制和控制.

在人们对Stack Overflow的体验中,这将是最佳途径,人们在决定使用开箱即用的宝石时会考虑什么?

ruby blogs rubygems ruby-on-rails

5
推荐指数
1
解决办法
1065
查看次数

从Rails控制台重新加载帮助程序

我在Rails 3中调用Rails控制台中的辅助方法,如下所示:

>> helper.my_method(parameter)
>> #=> some result
Run Code Online (Sandbox Code Playgroud)

但是,如果我更改辅助方法,则当我再次调用相同的方法时,不会反映更改.我必须exit运行rails console以便看到辅助方法的更改生效.

helper ruby-on-rails-3

5
推荐指数
2
解决办法
1604
查看次数

如何在 Sanity 中验证上传图像的尺寸?

我在 Sanity 中有一个image类型字段(文档,我需要确保尺寸在特定范围内,以避免破坏他们正在运行的网站。Sanity 提供了验证,但是图像类型只有 \xe2\x80\x9crequired\xe2\x80\x9d 和 \xe2\x80\x9ccustom\xe2\x80\x9d 规则,而传入自定义验证器的字段信息没有包括图像元数据。

\n\n

如何解决此限制并提供 CMS 内维度验证?

\n

validation sanity

5
推荐指数
1
解决办法
2079
查看次数

如何在 Flare React 包中实现类控制器选项

更新我在底部添加了一个 codesanbox,其中更详细地说明了我需要做什么。

所以我不太了解 React 中的类是如何工作的,我是 React 的新手并且使用过 useState 一点点,但从来不知道如何处理类。我正在使用这个 react 包,它有一个示例,说明如何使用控制器使您使用现在称为 rive 的flare 构建交互式动画。https://github.com/2d-inc/Flare-React#readme

我想要实现的是当我将鼠标悬停在生成的画布元素上时,要么运行不同的动画,要么再次运行相同的动画。我可以在 flate(rive) 中创建第二个动画,它仍然会在同一个 .flr 文件中输出,然后我应该能够在控制器中引用它并在悬停时运行它,只是坚持如何做那部分,或者甚至让这个控制器工作。需要注意的一件事是我可以让动画在没有控制器的情况下正常运行。

在文档中,他们有这个示例代码

class PenguinController extends FlareComponent.Controller
{
    constructor()
    {
        super();
        this._MusicWalk = null;
        this._Walk = null;
        this._WalkTime = 0;
    }

    initialize(artboard)
    {
        this._MusicWalk = artboard.getAnimation("music_walk");
        this._Walk = artboard.getAnimation("walk");
    }

    advance(artboard, elapsed)
    {
        // advance the walk time
        this._WalkTime += elapsed;
        const { _MusicWalk: musicWalk, _Walk: walk, _WalkTime: walkTime } = this;

        // mix the two animations together by applying …
Run Code Online (Sandbox Code Playgroud)

javascript animation flare reactjs rive

5
推荐指数
1
解决办法
357
查看次数