小编Oli*_*ver的帖子

Delayed_Job:访问作业元数据和/或避免重复作业

我正在尝试在自定义作业类中获取run_at日期时间.我的代码看起来像这样:

class MyCustomJob < Struct.new(:my_object)

  def perform
    if self.run_at == my_object.start_time
      # process the job
    end
  end

end
Run Code Online (Sandbox Code Playgroud)

我也试过Delayed::Job.find(self)但没有运气.

提前致谢

ruby-on-rails delayed-job ruby-on-rails-3

9
推荐指数
2
解决办法
4728
查看次数

如何捕捉考拉:: Facebook :: APIError OAuthException或用户密码重置

我想知道如何捕获考拉oauth异常(例如用户密码重置).

现在这是我到目前为止使用的东西:

rescue_from Koala::Facebook::APIError do
  # redirect to fb auth dialog
end
Run Code Online (Sandbox Code Playgroud)

但这会捕获所有错误..我怎么能只用oauth或只重置密码?

编辑:

找到了一个更明确的问题解决方案:

rescue_from Koala::Facebook::APIError do |exception|
  if exception.fb_error_type == 190
    # password reset - redirect to auth dialog
  else
    raise "Facebook Error: #{exception.fb_error_type}"
  end
end
Run Code Online (Sandbox Code Playgroud)

在此先感谢奥利弗

facebook ruby-on-rails ruby-on-rails-3 koala

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

Webpacker 在 Docker/Rails Setup 中找不到某些 node_modules

我有一个使用--webpack=stimulus. Docker化了整个事情。使用stimulusjs 没有问题 -import { Application } from "stimulus"就像它应该的那样工作。

然后我添加了 turbolinks ,然后添加了 github README 中描述yarn add turbolinksimport Turbolinks from "turbolinks"类似内容(如果我使用import或 则无关紧要require)。然后导致“编译失败”。错误。不知何故它找不到模块。我有同样的问题,例如另一个名为“isotope-layout”的包。

这是错误日志:Gist

当我ls node_modules在 webpacker docker 容器上时,turbolinks 和 isotope-layout 文件夹就在那里。

? docker-compose run webpacker bash

bash-5.0$ pwd
/home/deploy/app

bash-5.0$ ls node_modules/turbolinks/
CHANGELOG.md  README.md     package.json
LICENSE       dist          src
Run Code Online (Sandbox Code Playgroud)

编辑:docker-compose down --remove-orphans在 node_modules 中触发turbolinks 和其他模块后找到并编译...缓存问题?

这是我当前的 Webpacker 和 Docker 配置文件:

Dockerfile:

FROM ruby:2.6.5-alpine …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker webpack docker-compose webpacker

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

jQuery砌体固定/预置元素

我在jquery砌体布局中有一个导航元素,我想将它固定到一个特定的位置,让我们说右上方.有可能这样做,所以每个其他元素都围绕它定位?

像介绍导航的东西..

这是我的代码:http://jsfiddle.net/ftqTr/

现在我正试图在导航所在的位置放置一个空元素.但div盒子的大小是随机的..因此假导航或其他解决方案的固定位置会很棒!

提前致谢

jquery jquery-plugins jquery-masonry

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

获取will_paginate以在第一页上定义自定义偏移量

我正在我的rails网站上建立一个新闻栏目,它使用will_paginate进行分页.现在我想知道如何使用will_paginate为第一页指定自定义偏移量.这样的事情:

@featured_news = Post.first
@news = Post.offset(1).paginate(:page => params[:page])
Run Code Online (Sandbox Code Playgroud)

我需要最新的新闻条目是特殊的,不包含在@news对象中.

我怎么能做到这一点?

谢谢你的时间!

ruby-on-rails will-paginate ruby-on-rails-3

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

act-as-taggable-on使用范围(tagger?)和context

我的应用程序使用act-as-taggable-on来标记Content.内容belongs_toa Company.

现在,所有创建的标签都应属于使用过的公司,而其他公司则无法看到.

如何使用act-as-taggable-on解决这个问题?作为我目前使用的上下文:content.在我的情况下,公司是Tagger(所有者)?

谢谢你的澄清.

ruby-on-rails acts-as-taggable-on

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

Rails祖先:获取祖先模型的子记录

我有两个型号:

Post
 - category_id

Category (ancestry model)
Run Code Online (Sandbox Code Playgroud)

类别树看起来像这样的例子:

- Root Category

  - Sub Category
Run Code Online (Sandbox Code Playgroud)

现在让我们说帖子被归类为子类别.我在根类别中,我想看到所有在子类别中的帖子.是否有可能与祖先一起得到这些?

类别树总是只有一个嵌套级别,所以也许祖先太多了..

提前致谢

只有一个嵌套级别的工作示例

@category = Category.find(params[:id])
category_ids = @category.children.map(&:id) << @category.id
category_ids = category_ids.join(",")
@posts = Post.recent.where("category_id IN (#{category_ids})").page(params[:page])
Run Code Online (Sandbox Code Playgroud)

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

0
推荐指数
1
解决办法
2763
查看次数

Rails 4 嵌套属性和 sti 模型 update_attributes 创建新记录

我有一个使用页面模型运行的 rails 4 实例,该模型具有不同类型的页面内容,例如继承自 PageContent 的 PageContent::Text。

在我的表单中,我呈现了我所有的 @page.page_contents,正如您在表单片段中看到的那样。

如果我更新我的页面,记录不会更新,它们会被创建为新记录。

# update controller
class Admin::PagesController < Admin::BaseController

  def update
    @page = Page.find_by_url(params[:id])

    respond_to do |format|
      if @page.update_attributes(page_params(@page.type.parameterize.gsub('page','')))
        format.html { redirect_to edit_admin_page_path(@page) }
      else
        format.html { render :action => "edit" }
      end
    end
  end

  def page_params(type)
    params.require("#{type}_page".to_sym).permit(:name, :contents_attributes => [:body, :type])
  end

end

# content model
class PageContent::Text < PageContent
end

# page model
class Page < ActiveRecord::Base
  has_many :contents, class_name: 'PageContent', dependent: :destroy
  accepts_nested_attributes_for :contents
end

# form snippet
<textarea …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails sti nested-attributes

0
推荐指数
1
解决办法
1311
查看次数