小编L45*_*457的帖子

Admob最佳实践:我要求多少次,以及我应该展示横幅广告多长时间?

在我当前的应用程序项目中,我只在应用程序首次加载时请求一个admob横幅,然后在整个应用程序中显示/隐藏它.

这是最佳做法还是我每次加载新关卡时都应该申请新横幅?此外,如果我在暂停菜单中仅在短时间内展示广告并在整个游戏的其余部分隐藏广告,它是否会带来收入差异.

android unity-game-engine admob ios

8
推荐指数
1
解决办法
5519
查看次数

Rails4迁移-向add_reference方法添加null:false吗?

我刚刚开始学习rails,如果对此的答案很明显,那么我感到抱歉。

我在我的应用程序中添加了帖子和类别表的迁移,现在使用以下行在默认值不为null的情况下添加对帖子表中类别的引用:

add_reference :posts, :category, index: true, foreign_key: true, null: false
Run Code Online (Sandbox Code Playgroud)

但是在运行迁移时出现以下错误:

SQLite3::SQLException: Cannot add a NOT NULL column with default value NULL: ALTER TABLE "posts" ADD "category_id" integer NOT NULL
Run Code Online (Sandbox Code Playgroud)

我曾尝试阅读过api,但无法弄清楚我在做什么错。

ruby ruby-on-rails rails-migrations ruby-on-rails-4

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

Rspec/FactoryGirl:工厂中的更改未保存在测试数据库中?

我为模型定义了以下工厂:

factory :page do
  association :user, factory: :standard_user
  association :post, factory: [:short_post]
  after :create do |model|
    model.post.user = model.user
    model.save!
  end
end
Run Code Online (Sandbox Code Playgroud)

后创建块似乎运行文件,工厂返回带有正确/新更改的模型对象,但这不会在我的测试数据库中持久存在.

即.如果我Page.last.post.user.id从我的测试中调用,我仍然得到在创建块之前的早期分配给post对象工厂的旧用户ID.我不确定为什么会这样.

rspec ruby-on-rails ruby-on-rails-4 factory-bot

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

Papertrail:日志中记录了 nil whodunnit 值和 object_changes

我已将 papertrail 设置为仅记录包含 whodunnit 值的更改/当管理员通过在我的模型中使用以下条件进行更改时:

has_paper_trail if: proc { |model| PaperTrail.request.whodunnit.present? }
Run Code Online (Sandbox Code Playgroud)

然而我注意到仍然有相当数量的记录存储着空的侦探小说值。从记录来看,这些似乎主要是“更新”操作,由于某种原因,所有操作都具有空对象更改。我不确定为什么该值是空的,或者考虑到上述条件它将如何保存。

我在应用程序控制器中使用以下命令从典狱长那里获取侦探小说值:

def user_for_paper_trail
  request.env['warden']&.user(:admin)&.id
end
Run Code Online (Sandbox Code Playgroud)

以前有人遇到过类似的行为吗?

ruby ruby-on-rails paper-trail-gem ruby-on-rails-6 ruby-2.6

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

Java:如何访问在switch语句中声明的变量

我不确定我是否正确这样做,但我一直收到错误,说我的数组"currentRoute"无法解析为变量.我假设这是因为我已经在不同的范围内声明了数组.有没有什么方法可以让我的工作仍然在我的switch语句中声明变量,同时仍然使用一个简单的数组?(我不能使用arraylist,因为我的其余代码会受到影响)

    switch (routeID)
    {
        case "1" : {
            String[] currentRoute = new String[Route1.length];
            currentRoute = Route1;
        }
        case "96" : {
            String[] currentRoute = new String[Route96.length];
            currentRoute = Route96;
        }
    }

    // print out values in currentRoute
    for (int i = 0; i < currentRoute.length; i++)
    {
        System.out.println(currentRoute[i]);
    }
Run Code Online (Sandbox Code Playgroud)

还有更多的switch语句,但我刚刚为这个例子包含了2个.

编辑:switch和for语句都位于同一方法中.

java arrays scope

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