小编Ala*_*lan的帖子

Rails - 使用`rails generate model`来指定不可为空的字段类型

根据rails文档

http://guides.rubyonrails.org/migrations.html

2.3支持的类型修饰符表示应该可以修改字段以允许或禁止列中的NULL,并且可以在终端上执行此操作

这就是我想要在迁移文件中出现的内容

class CreateTestModels < ActiveRecord::Migration
  def change
    create_table :test_models do |t|
      t.string:non_nullable, :null => false

      t.timestamps
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

在终端上,我试过了

rails generate model TestModel non_nullable:string{null}
rails generate model TestModel 'non_nullable:string{null: false}'
Run Code Online (Sandbox Code Playgroud)

我想不出任何其他表达方式

注意:我已经知道您可以进入迁移文件并手动添加它.那不是我想要的.

ruby ruby-on-rails rails-generate rails-generators

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

OpenLayers 3:地图模糊不清

当我将地图(相同的html,css,js)添加到不同的页面时,地图有时会模糊不清.不同的页面可能包含其他html,css和js.左侧的清晰图片位于第三方添加CSS的页面内.右边的那个没有别人的html,css和js.

我该如何解决这个问题?

锐利与模糊的比较

在检查细节时我注意到的一件事是第二个例子的画布尺寸要小得多.

锐利的地图宽度和高度是正确的 模糊的地图宽度和高度较小

编辑[固定!]:

我发现了查看ol.js源代码的问题.在控制台上,模糊图像具有map.frameState_.pixelRatio = 0.89(默认为window.devicePixelRatio),而清晰图像具有map.frameState_.pixelRatio = 1.如果我在初始化地图时设置pixelRatio = 1,则修复了问题:

var map = new ol.Map({pixelRatio: 1, ...});
Run Code Online (Sandbox Code Playgroud)

事实证明,如果你的互联网浏览器放大(例如,90%),window.devicePixelRatio将会改变,这会导致模糊.但是,当您缩放回100%时,地图仍会缩放,直到您刷新页面.

openlayers-3

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

Objective-C不兼容的指针类型初始化'XYZShoutingPerson*',表达式为'XYZPerson*'

我正在阅读使用Objective-C编程的教程,我已经到了尝试为XYZPerson实现类工厂方法

在我尝试使用名为XYZShoutingPerson的子类实例化对象之前,一切都看起来不错.我在里面收到以下错误main.m

不兼容的指针类型使用"XYZPerson*"类型的表达式初始化'XYZShoutingPerson*'

XYZPerson.h

#import <Foundation/Foundation.h>

@interface XYZPerson : NSObject

@property NSString *firstName;
@property NSString *lastName;
@property NSDate *dateOfBirth;

+ (XYZPerson *)person;

- (void)sayHello;
- (void)saySomething:(NSString *)greeting;

@end
Run Code Online (Sandbox Code Playgroud)

XYZPerson.m

    #import "XYZPerson.h"

    @implementation XYZPerson

    + (id)person
    {
        return [[self alloc] init];
    }

    - (void)sayHello
    {
        [self saySomething:@"Hello, World!"];
    }

    - (void)saySomething:(NSString *)greeting
    {
        NSLog(@"%@", greeting);
    }

    @end
Run Code Online (Sandbox Code Playgroud)

XYZShoutingPerson.h

#import "XYZPerson.h"

@interface XYZShoutingPerson : XYZPerson
@end
Run Code Online (Sandbox Code Playgroud)

XYZShoutingPerson.m

 #import "XYZShoutingPerson.h"

    @implementation XYZShoutingPerson

    - (void)saySomething:(NSString *)greeting
    {
        NSString *uppercaseGreeting = [greeting …
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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