小编iCy*_*org的帖子

Delayed Job如何在Ruby on Rails中工作?

我是新手,对于Delayed Job如何工作有点困惑?

我知道它会创建一个表并将作业放在表中然后我需要运行

rake jobs:work
Run Code Online (Sandbox Code Playgroud)

开始后台进程.现在我的问题是

  1. DJ脚本是否每分钟检查一次表格,当时间与job_at时间匹配时,它会运行该作业吗?

  2. 它是如何与cron(每当gem)不同,如果脚本每分钟只检查一次表?

谢谢

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

8
推荐指数
2
解决办法
2919
查看次数

我正在使用Devise,密码更改是重定向到主页,如何保持/ users/edit?

我正在使用devise和views文件/devise/registrations/edit.html.erb(我没有对它进行任何更改):

<div><%= f.label :password %>
<%= f.password_field :password, :autocomplete => "off" %></div>

<div><%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %></div>

<% if f.object.encrypted_password.present? %>
   <div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
   <%= f.password_field :current_password %></div>
<% end %>
<div><%= f.submit "Update" %></div>
Run Code Online (Sandbox Code Playgroud)

当用户更改密码时,他们将被重定向到root_url(主页).我想将它们保留在更改密码页面,即/users/edit.我该怎么做?

编辑 - 我确实有编辑方法的registration_controller,我应该添加什么?

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

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

如何在Ransack获得条件组?

我在Ransack中使用高级搜索,它具有默认AND.我把它作为OR通过放入.try(:merge,m:'或'))

@search = Data.search(params[:q].try(:merge, m: 'or'))
Run Code Online (Sandbox Code Playgroud)

但我无法像在Ransack Demo中显示的条件组那样得到AND/OR下拉http://ransack-demo.herokuapp.com/users/advanced_search

在此输入图像描述

如何做到这一点不幸的是Ransack wiki没有提及它.

我们的代码

data_controller.rb

def search

    @search = Data.search(params[:q])
    @datum = @search.result(:distinct=>true).paginate(page: params[:page], per_page: 10)

    if params[:q].nil?
        @datum = Prospect.where(:id => 0).paginate(page: params[:page], per_page: 10)
    end

    @page = params[:page] || 0
    @pids = @search.result(:distinct=>true).pluck(:id)

    @search.build_condition
    # @search.build_grouping unless @search.groupings.any? (I have tried this code too but this gives an error)
end
Run Code Online (Sandbox Code Playgroud)

的routes.rb

resources :data do
    collection do
      get :search
      post :search, to: 'data#search'
    end
end
Run Code Online (Sandbox Code Playgroud)

data.html.erb

<script type="text/javascript">
    var ids = …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3 ransack ruby-on-rails-4

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

如何在Rails 4中利用浏览器缓存?

我正在使用GTMetrix查看我的网站速度,它正在向我显示(请查看下图).

如何利用浏览器缓存来加速Rails 4中的网站加载速度?

为了推迟解析JS,我已经提出了

<%= javascript_include_tag 'application' %>
Run Code Online (Sandbox Code Playgroud)

在/ html标签之前.

在此输入图像描述

javascript ruby-on-rails ruby-on-rails-4

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

如何在Ubuntu服务器上为Ruby on Rails重启Phusion Passenger + Apache的生产模式?

我有Apache + phusion乘客,我已经把

RailsEnv production
Run Code Online (Sandbox Code Playgroud)

在/ etc/apache2/sites-available/default文件中并重新启动了apache但是当我运行时

rails c
> Rails.env.production?
Run Code Online (Sandbox Code Playgroud)

它给出了故障

> Rails.env.development?
Run Code Online (Sandbox Code Playgroud)

它给了真实.还有其他方法可以重新启动乘客,因为我认为将"RailsEnv生产"置于默认状态是正确的方法吗?顺便说一句,我正在使用

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

如何使用passenger + apache在生产模式下在rails应用程序上启动我的ruby?

apache ruby-on-rails passenger ruby-on-rails-3

6
推荐指数
2
解决办法
2万
查看次数

如何在 GitHub 上使用协作?那么其他人可以在没有访问 master 分支的情况下放置他们的代码吗?

我想与另一个人合作,但无法弄清楚 GitHub 是如何工作的。我有一个私人存储库,我已将他添加为合作者,但现在怎么办?

  • 他是否必须创建一个他将单独工作的分支?
  • 合并将如何进行?
  • 合并将如何进行?谁可以合并代码?

PS - 我看到了 Stack Overflow 问题协作者在 GitHub 上有提交访问权限吗?看着https://github.com/account/organizations/new,所以基本上,除非我付$ 25 /月,我不能让别人没有看到整个主分支代码?

github

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

检查进程是否正在运行,如果没有,请使用Cron重新启动它

我用followin代码创建了restart.sh

#!/bin/bash
ps -aux | grep sidekiq > /dev/null
if [ $? -eq 0 ]; then
  echo "Process is running."
else
  echo "Process is not running."
fi
Run Code Online (Sandbox Code Playgroud)

检查sidekiq进程是否正在运行.我将把这个脚本放在cron中每天运行,所以如果sidekiq没有运行,它将自动启动.

我的问题是,与

ps -aux | grep sidekiq
Run Code Online (Sandbox Code Playgroud)

即使进程没有运行,它也会显示出来

myname 27906  0.0  0.0  10432   668 pts/0    S+   22:48   0:00 grep --color=auto sidekiq
Run Code Online (Sandbox Code Playgroud)

而不是没有.这在grep中计算,因此即使进程未运行,它也会显示为"sidekiq"进程正在运行.怎么不算这个结果?我相信我必须使用awk,但我不知道如何在这里使用它来更好地过滤.

unix bash shell cron awk

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

如何在rails中使用两个不同的注册页面(使用设计)

我正在使用设计,注册表单显示在/ signup路径,但我希望另一个页面具有相同的注册表单,但顶部有不同的文本.

我可以看到注册页面位于/views/devise/registration/new.html.erb但是如何复制它并在/ signup_new显示?

编辑 - 我正在使用

devise_for :users do
   get 'signup_new', :to => 'devise/registrations#new'
end
Run Code Online (Sandbox Code Playgroud)

现在使用上面的代码,我已经将signup_new重定向到表单,但我确实希望在其顶部显示一些不同的文本.我怎么能这样做,因为/ signup和/ signup_new都指向同一个表单/页面.我试图复制new.html.erb并创建了signup_new.html.erb,但这不起作用

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

4
推荐指数
2
解决办法
2267
查看次数

Wordpress博客现在显示安装页面?数据库仍然存在,wp-config具有正确的详细信息

我不确定发生了什么,但我只是看了我的wordpress网站,它显示的是安装页面/wp-admin/install.php,而不是显示博客内容.

  1. 我检查了wp-config,它有正确的数据库详细信息
  2. 该数据库也存在并具有所有内容

出了什么问题,我该如何解决这个问题?

wordpress

4
推荐指数
2
解决办法
6024
查看次数

要在Twitter上发帖,我是否也需要omniauth gem(以及twitter gem)?

我正在使用设计并希望使用"twitter"宝石发布到Twitter,但我有点困惑,我是否也需要omniauth gem?在我可以使用"twitter"gem之前,我是否需要首先使用devise配置omniauth(我正在为用户使用它),以便用户可以发布推文

编辑 - 顺便说一句,它是用户将发送推文到他们各自的tweeter帐户

谢谢

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

3
推荐指数
1
解决办法
759
查看次数