小编Sil*_*lex的帖子

Rails simple_form记住密码输入

铁路的simple_form宝石:

如果我有,= f.input :password, :required => true那么无论何时我提交表单并且它包含错误,我输入的密码都会在页面重新加载时消失.如果我使用= f.input :password, :required => true, :as => :text它所有工作都像预期的那样,所以显然对密码字段有不同的处理方式.

如何记住密码字段的值?

编辑:有些人似乎不明白我在谈论用之前输入的值重新显示相同的表格.这个问题与数据库无关,事实上在这种情况下甚至没有任何东西保存在数据库中.对于PHP人来说,这相当于<input name="pass" type="password" value="<?= $_POST['pass']; ?>">

ruby-on-rails simple-form

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

什么时候违反单一责任原则?

您如何决定何时以及如何违反单一责任原则

例如,假设我有一个具有以下接口的网络摄像机(为了简单起见,接口保持愚蠢和“错误”):

class Camera
{
  string user();
  void set_user(string user);

  string password();
  void set_password(string password);

  string url();
  void set_url(string url);

  image take_snapshot();

  bool reboot();
}
Run Code Online (Sandbox Code Playgroud)

这看起来很自然,但看起来 Camera 类有 3 个职责:存储元数据、拍摄快照、重新启动。按照SRP,你可以这样写:

class Camera
{
  string user();
  void set_user(string user);

  string password();
  void set_password(string password);

  string url();
  void set_url(string url);
}

image take_snapshot(camera c);
bool reboot_camera(camera c);
Run Code Online (Sandbox Code Playgroud)

这里的东西在职责方面被整齐地分开,但现在它看起来非常像具有愚蠢结构和函数的 C...这引出了一个问题:为什么我们首先需要 OOP。

您如何在便利性和建议零售价之间取得平衡?

[编辑]

@stjin 的想法被@John Zwinck 显示为答案

c++ coding-style single-responsibility-principle design-principles

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