小编Fel*_*ger的帖子

.call() 方法如何工作?

我正在根据Railscasts 剧集在应用程序中实施授权。

在其中一个实例方法中,Ryan Bates 使用方法 .call,但我不明白它到底在做什么。这是整个模型的代码。这是特定的方法:

def allow?(controller, action, resource = nil)
  allowed = @allow_all || @allowed_actions[[controller.to_s, action.to_s]]
  allowed && (allowed == true || resource && allowed.call(resource))
end
Run Code Online (Sandbox Code Playgroud)

资源参数是一个实例对象,局部变量allowed应该是一个布尔值。

ruby ruby-on-rails railscasts

4
推荐指数
1
解决办法
9234
查看次数

EOF错误无处不在

我在Rails 4.0.2上,仍然只在本地开发.

没有做任何事情(据我所知)我收到以下错误消息:"文件结束到达",并在错误页面中将以下行标记为红色:

<%= stylesheet_link_tag "application", :media => "all" %>
Run Code Online (Sandbox Code Playgroud)

我已经尝试删除所有css规则,但这并没有改变任何东西.

只有在注释掉该行时,错误才会停止.

如果有任何帮助,我的config/development.rb:

Verksam::Application.configure do
  config.cache_classes = false
  config.eager_load = false
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false
  config.action_mailer.raise_delivery_errors = false
  config.active_support.deprecation = :log
  config.active_record.migration_error = :page_load
  config.assets.debug = true
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails eof asset-pipeline ruby-on-rails-4

4
推荐指数
1
解决办法
1366
查看次数

"request.referer == nil"是否始终意味着直接流量?

什么request.referer时候不返回任何内容,这是否始终意味着访问者没有通过链接执行请求 - 即她以某种方式手动输入所请求页面的地址?

还是有其他情况下request.referer返回nil(授予请求成功)?

ruby http-referer ruby-on-rails httprequest ruby-on-rails-4

4
推荐指数
1
解决办法
3472
查看次数

"DateTime.beginning_of_week =&gt; :monday" 但 "DateTime.current.wday == 0" 是星期日

DateTime.current.wday 从星期日开始计算星期。

我希望从星期一开始计算周数。

我不明白这种差异。

我将如何以数字表示形式获得今天的工作日?

datetime ruby-on-rails date ruby-on-rails-4

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

Use Google::Auth::Stores::FileTokenStore with database

I'm trying to implement a 3 legged authentication in my app to the Google API, to be able to access registered users' Google Calendars.

In the quickstart Ruby guide, this command comes up that as far as I understand should point to the user's tokens:

token_store = Google::Auth::Stores::FileTokenStore.new(file: CREDENTIALS_PATH)
Run Code Online (Sandbox Code Playgroud)

它期望令牌存储在文件(或Redis)中,但是(当然)我将每个用户的令牌存储在我的数据库(Postgres)中。

我是否错误地或以其他方式理解了命令的目的 - 如何将它与数据库存储一起使用?

官方文档

ruby ruby-on-rails google-api google-oauth

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

在 Rails 5 的自定义测试文件夹中运行测试

当我想运行所有模型测试时

rails test:models
Run Code Online (Sandbox Code Playgroud)

如果我同样想运行位于名为service_objects(在test文件夹中)的文件夹中的测试 - 所需的步骤是什么?


多个来源的启发下,我尝试了以下内容lib/tasks

namespace :test do
  Rails::TestTask.new(classes: 'test:prepare') do |t|
    t.pattern = 'test/service_objects/**/*_test.rb'
  end
end
Run Code Online (Sandbox Code Playgroud)

但是运行会rails test:service_objects返回此错误消息:

NameError: 未初始化的常量 Rails::TestTask

ruby-on-rails ruby-on-rails-5

4
推荐指数
1
解决办法
1247
查看次数

以相反的顺序获得最后14天

我想在视图中打印过去14天中每一天的统计数据.

为此,我打算创建一系列日期,从今天开始到第14天结束(回到过去),迭代 .each在视图中.

most_recent   = Date.current
least_recent  = Date.current.ago(14.days)
Run Code Online (Sandbox Code Playgroud)

这不起作用:

most_recent..least_recent.each
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用:

(most_recent).downto(least_recent).each
Run Code Online (Sandbox Code Playgroud)

任何想法如何实现这一目标?

ruby ruby-on-rails

3
推荐指数
2
解决办法
190
查看次数

10.minutes.ago是使用Time.now还是Time.current?

的区别 .current,并.now.now使用服务器的时区,而.current什么Rails环境设置为(用途Time.zone),如果没有设置,那么.current将采取行动一样.now。”

当我这样做时10.minutes.ago,Rails是否使用Time.currentTime.now

time ruby-on-rails ruby-on-rails-4

3
推荐指数
2
解决办法
1681
查看次数

重新排序/更改迁移文件上的时间戳

我的一个迁移文件正在引用另一个表/模型,该表/模型将在迁移序列中进一步创建。

Postgres 不喜欢这样:

PG::UndefinedTable:错误:关系“用户”不存在

所以我想知道手动重新排序迁移文件(通过发明新的时间戳/前缀)是否存在任何潜在问题?

受影响的表已经向下迁移。

postgresql ruby-on-rails rails-migrations ruby-on-rails-5

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

Sass中的三与号

Sass中的三个&符是做什么的?

styled-components上下文中:

const Grid = styled.div`
  display: grid;
  &&& {
    ${someFunction}
  }
`
Run Code Online (Sandbox Code Playgroud)

在此处的代码中看到:https : //github.com/reakit/reakit/blob/website%400.16.0/packages/reakit/src/Grid/Grid.ts#L23

javascript css sass styled-components

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