小编Ere*_*CAY的帖子

将枚举值映射到字符串类型而不是整数的可能性

枚举属性很棒,我想使用它们.但是将枚举值映射到整数将使得难以维护代码和数据库.此外,我的数据库将与我的代码高度耦合,我认为我应该认为这是一件坏事.

我知道我可以使用哈希来组织具有键/值对的枚举属性,但是仍然能够使用数组并映射到数据库中的字符串值会更好.

有没有办法默认将枚举映射到字符串?

enumeration ruby-on-rails ruby-on-rails-4

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

如何允许具有强参数的Rack :: Test :: UploadedFile?

我在Rails 3.2中使用了strong_parameters gem.为了测试图像上传过程,我有一个带参数的传入请求:

{"photo"=>{"image"=>#<Rack::Test::UploadedFile:0x000000069ce1f8 @content_type="image/png", @original_filename="test.png", @tempfile=#<Tempfile:/tmp/test.png20130420-9529-1xuka4v-1>>, "status"=>"approved", "in_use"=>false}, "controller"=>"member/photos", "action"=>"create"}
Run Code Online (Sandbox Code Playgroud)

如何允许图像属性进行分配?我试过了;

params.require(:photo).permit(:image)
Run Code Online (Sandbox Code Playgroud)

但它不起作用并说Validation failed: Image can't be blank.

当我允许所有参数时params.require(:photo).permit!它工作正常.

ruby-on-rails-3.2 strong-parameters

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

在命名空间下为命名路由助手添加前缀

这是常见命名空间的样子.

namespace :admin do
  resources :posts
end
Run Code Online (Sandbox Code Playgroud)

它创建了一个像这样的命名路线;

new_admin_post_path
Run Code Online (Sandbox Code Playgroud)

这是我的问题; 如何在命名空间下的命名路由中添加前缀(如本例中的"new")?

让我们说我的路线定义喜欢这个;

namespace :admin do
  get 'post/new' => 'posts#new', as: 'post'
end
Run Code Online (Sandbox Code Playgroud)

它创造了一条命名路线,如;

admin_post_path
Run Code Online (Sandbox Code Playgroud)

我想为这个命名的路由添加"new"前缀并使其看起来像new_admin_post_path我不想使用resources.

ruby-on-rails rails-routing

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

区分打字稿类型中的修饰类方法

我想创建一个泛型类型,它仅从类定义中选择修饰方法。

function test(ctor: any, methodName: any) {}

class A {
    @test
    public x() {}

    public y() {}
}

type DecoratedOnly<T> = {
    [P in keyof T]: T[P] extends /* Magic Happens */ ? T[P] : never;
};

let a: DecoratedOnly<A> = {} as any;
a.x(); // ok
a.y(); // never!

Run Code Online (Sandbox Code Playgroud)

是否可以推断类的装饰方法,以便DecoratedOnly泛型类型保持装饰x()方法不变并省略非装饰y()方法?

typescript typescript-generics typescript-typings

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

设置:null => false作为创建表迁移时的默认行为

我有一个迁移用于创建一个包含大约15个字段的表,并且所有字段都不应为null.我想知道是否有任何技巧可以立即做到这一点,而不是:null => false为每一个字段声明.

migration ruby-on-rails

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