我只是在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中使用枚举类型.
我很感激对这件事的任何见解.
我是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) 有没有办法使用CSS选择器来获取元素列表中的中间子?
我知道没有文字:middle-child选择器,但还有另一种方法,而不诉诸Javascript?
我正在开发一个Rails应用程序,现有用户可以邀请其他成员加入.这个问题是User模型存在于不同的状态,并且在那些不同的状态中,需要不同的信息集.
例如,John是该网站的成员并邀请Mary.John输入Mary的姓名和电子邮件地址,在Mary的数据库中创建用户记录,并发送邀请电子邮件.然而,在她加入之后,所需的数据集发生了变化,我们要求她输入其他信息(例如密码).
我还在学习Ruby on Rails的,我看不出有任何的方式来处理这个使用标准验证技术validates_presence_of,validates_format_of等等.任何人都可以点我在正确的方向
我在 Redshift 中有一个计划查询,但它根本无法运行。当我在查询编辑器中手动执行查询时(而不是按计划执行查询),它会起作用。不过,我似乎找不到任何有关其失败原因的反馈。我可以看到计划历史记录、唯一 ID 和“失败”状态,但没有更多信息。
是否有一个系统表/视图可供我深入研究并找出我的查询发生了什么?SQL 由基本select, update,insert风格的代码组成 - 没什么花哨的,只是很长。
我正在为一个当地教会的小网站工作.该站点需要允许管理员编辑内容并发布新事件/更新.该站点管理的唯一"安全"信息将是管理员的登录信息和带有电话号码和地址的教会目录.
如果我不使用SSL而只是让用户使用直接HTTP登录,我会有多大的风险?通常我甚至不会考虑这个,但它是一个小教堂,他们需要尽可能省钱.
当我在WPF中创建自定义控件并将其添加到窗口时,我没有看到任何将其放置在对话框中的位置.这是我正在做的事情:
这是代码的样子.
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中注释掉静态构造函数,那么按钮会突然显示在主窗口中.但是在所有情况下它看起来都不正确(就像我使用工具栏中的按钮一样).