- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的问题是是否有一个 rails 等同于“脱离” Controller 操作,例如
def new
if some_confirmation
do_stuff
break #I know this only breaks out of a loop but I want it to break out of the action. is this possible?
end
do_some_other_stuff_which_it_should_not_reach_after_breaking
end
这也引发了一个问题,如果我做错了什么,不应该用 before_filter
还有最后一个问题,是将所有内容包含在此类定义中的“if-else”语句中(不一定是 Controller 操作,但也包括正常定义)更好,还是像我打算在那里做的那样^?
最佳答案
答案是使用return
。 Controller 操作只是方法,return
是您提前从方法返回的方式。这样做没有错,您应该根据需要随意这样做。
正如您提到的,您可以使用 before_filter
(在 Rails 4 中已重命名为 before_action
),但我建议仅在 Controller 中的每个方法都使用时才这样做需要条件。否则,您最终会在顶部看到一个巨大的 before_action
列表,您在稍后阅读操作时必须牢记(或感到惊讶);如果您必须记住哪些适用于哪些操作,哪些不适用于哪些操作,它会变得特别困惑!
是否首选 if-else 语句是一种观点……但是,受到 Avdi Grimm 的优秀著作 Confident Ruby 的启发,我建议按照您在此处所做的那样做...您设置的本质上是一个保护条款,您可以借此提前退出该方法,然后进入该方法的实际内容。在 Confident Ruby 中,Avdi Grimm 谈到将方法分解为逻辑部分以讲述一个连贯的故事,而不会迫使读者在方法的整个生命周期中跟踪各种状态。使用 if-else 语句往往会迫使读者跟踪状态,而使用保护子句可以让您快速识别离开该方法的条件,然后忘记它们,这样您就可以专注于该方法的实际目的。
关于ruby-on-rails - 脱离 Controller Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25463553/
我正在尝试创建一个函数,以便您可以循环遍历一个包含很多对象的大对象,并按值找到特定的方法。我想在使用break语句找到值时停止函数中的循环。这是我的代码。 let fake_window = {
所以,我有以下代码: var name = prompt("What's your name?"); var greeting = "Hello " + name + " :D"; console.
有时,即使是最简单的事情也似乎是不可能的……看看这个,如果您明白我没有看到的东西。 >> LINK 一个 div(绿色),使用类分为两侧 L 和 R。 出于某种原因,类“left-content,ri
许多框架试图从 HTML(自定义标签、JSF 组件系统)中抽象出来,以便更轻松地处理特定的鱼缸。 你们有没有使用过将类似概念应用于 CSS 的东西?可以为您带来一系列跨浏览器魔法的东西,支持类似变量(
我有一个版本历史记录,我正在尝试在其上运行 gradle 构建,并在我的 bash 脚本中运行 while read -r version do git checkout $version
这个问题在这里已经有了答案: Android & RoboGuice - Inject views on Fragment? (1 个回答) 关闭 8 年前。 我有一个 roboactivity,我
我的问题是是否有一个 rails 等同于“脱离” Controller 操作,例如 def new if some_confirmation do_stuff
我厌倦了 此客户端太旧,无法使用工作副本 每当我在使用比石器时代更新的 svn 客户端修复我的工作副本后回到 Eclipse 时。 有没有办法让 Subclipse 使用当前的 Subversion
代码笔示例:http://codepen.io/mattrice/full/peXeqd/ 我想要的是 SVG 完全包含在父级的给定宽度内(本例为 6 列,但可以是任何其他任意宽度的网格元素)。 此示
我正在构建一个带有 TextView、ScrollView 和 LinearLayout 的 Android 应用程序,我想使用 Java 将一个 TextView 和一个 ImageView 添加到
我想在进行一些测试后分析我的 iPhone 应用程序中的数据,这些数据位于 SQLite 数据库中。有什么办法可以将它从 iPhone 复制回我的笔记本电脑吗?我不知道有任何机制允许我进行文件系统样式
我在 div 中有一个(带边框)。这在 Firefox 和 IE 10 上看起来不错(不确定旧版本的 IE)。但是,有时 IE 会激活兼容模式,然后表单(输入框和提交按钮)会脱离 div。是否有一些
内的 anchor 脱离
这是我的html文件 My text content is here...... lINK1lINK2 这是CSS div { width:960px; border:1px so
有人可以指出我研究如何防止用户使用 Ctrl+Z、Ctrl+C? 最佳答案 如果你用 PCNTL 编译了 php (进程控制)并且未运行 Windows,您可以使用 pcntl_signal() .
我是一名优秀的程序员,十分优秀!