小编Jas*_*son的帖子

Rails枚举类型或替代

我只是在rails上学习ruby,我有一个用户角色表(所有者,管理员和用户).在代码中将有一些地方需要检查用户的角色并显示不同的选项.有没有人知道如何做到这一点,而不诉诸魔术数字或其他丑陋的方法?

在ASP.Net网络应用程序中,我已经通过使用枚举类型看到了这一点:

public enum UserRole { Owner = 1, Admin = 2, User = 3 }

// ...

if (user.Role == UserRole.Admin)
    // Show special admin options
Run Code Online (Sandbox Code Playgroud)

数据库中的每个不同角色都反映为枚举类型,其值设置为数据库中该角色的ID.这似乎不是一个非常好的解决方案,因为它取决于可能会改变的数据库知识.即使这是处理这样的事情的正确方法,我也不知道如何在rails中使用枚举类型.

我很感激对这件事的任何见解.

enums ruby-on-rails

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

对话窗口在其他Windows后面丢失

我是WPF的新手,所以这可能是一个非常简单的问题.我使用ShowDialog()打开一个对话窗口.然后,如果我点击另一个全屏或只覆盖我的对话框的窗口,则很难返回到对话框.任务栏中显示的图标将我带回主WPF窗口,但对话框仍隐藏在另一个窗口后面.我要么必须将阻止窗口或Alt-Tab最小化回我的应用程序(它将显示对话框但隐藏主窗口).

窗口的定义如下:

<Window x:Class="MyProject.MyWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ResizeMode="CanResizeWithGrip"
        ShowInTaskbar="False"
        WindowStartupLocation="CenterOwner"
        Width="750"
        Height="565"
        Title="MyWindow">
Run Code Online (Sandbox Code Playgroud)

我打开它像:

var dlg = new MyWindow();
if (dlg.ShowDialog() != true)
    return;
Run Code Online (Sandbox Code Playgroud)

wpf window showdialog

15
推荐指数
1
解决办法
3560
查看次数

中学儿童伪班

有没有办法使用CSS选择器来获取元素列表中的中间子?

我知道没有文字:middle-child选择器,但还有另一种方法,而不诉诸Javascript?

css css-selectors

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

Rails中的多状态验证

我正在开发一个Rails应用程序,现有用户可以邀请其他成员加入.这个问题是User模型存在于不同的状态,并且在那些不同的状态中,需要不同的信息集.

例如,John是该网站的成员并邀请Mary.John输入Mary的姓名和电子邮件地址,在Mary的数据库中创建用户记录,并发送邀请电子邮件.然而,在她加入之后,所需的数据集发生了变化,我们要求她输入其他信息(例如密码).

我还在学习Ruby on Rails的,我看不出有任何的方式来处理这个使用标准验证技术validates_presence_of,validates_format_of等等.任何人都可以点我在正确的方向

validation ruby-on-rails

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

了解 Amazon Redshift 计划查询失败的原因

我在 Redshift 中有一个计划查询,但它根本无法运行。当我在查询编辑器中手动执行查询时(而不是按计划执行查询),它会起作用。不过,我似乎找不到任何有关其失败原因的反馈。我可以看到计划历史记录、唯一 ID 和“失败”状态,但没有更多信息。

是否有一个系统表/视图可供我深入研究并找出我的查询发生了什么?SQL 由基本select, update,insert风格的代码组成 - 没什么花哨的,只是很长。

amazon-redshift

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

没有SSL证书?

我正在为一个当地教会的小网站工作.该站点需要允许管理员编辑内容并发布新事件/更新.该站点管理的唯一"安全"信息将是管理员的登录信息和带有电话号码和地址的教会目录.

如果我不使用SSL而只是让用户使用直接HTTP登录,我会有多大的风险?通常我甚至不会考虑这个,但它是一个小教堂,他们需要尽可能省钱.

security ssl https

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

WPF自定义控件是不可见的

当我在WPF中创建自定义控件并将其添加到窗口时,我没有看到任何将其放置在对话框中的位置.这是我正在做的事情:

  1. 创建一个新的WPF应用程序
  2. 添加 - >新项目... - >自定义控件(WPF):"CustomButton.cs"
  3. 我将CustomButton基类更改为Button而不是Control
  4. 将CustomButton控件添加到我的主窗口.
  5. 当我运行应用程序或查看设计器中的主窗口时,我什么都看不到.

这是代码的样子.

CustomButton.cs:

public class CustomButton : Button
{
    static CustomButton()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomButton),
            new FrameworkPropertyMetadata(typeof(CustomButton)));
    }
}
Run Code Online (Sandbox Code Playgroud)

MainWindow.xaml:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525" xmlns:my="clr-namespace:WpfApplication1">
    <Grid>
        <my:CustomButton Content="Hello World" x:Name="customButton1"
                         HorizontalAlignment="Left" VerticalAlignment="Top" Margin="150,175,0,0" />
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

Generic.xaml:

<Style TargetType="{x:Type local:CustomButton}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type local:CustomButton}">
                <Border Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}"
                        BorderThickness="{TemplateBinding BorderThickness}">
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

我找到了两个关于发生了什么的线索,但还没有点击.当我添加自定义控件时,Visual Studio添加了Themes/Generic.xaml,但无论我在那里尝试什么,我都看不到屏幕上的差异.另一件事是,如果我在CustomButton.cs中注释掉静态构造函数,那么按钮会突然显示在主窗口中.但是在所有情况下它看起来都不正确(就像我使用工具栏中的按钮一样).

wpf custom-controls

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