小编Jon*_*han的帖子

一行if-then没有else子句

我有以下代码,我想知道它是否可以压缩到一行:

if self.id
  return if Party.find_by_id(self.id).name.downcase == self.name.downcase
end
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方式将此声明放在一行中.

我知道你可以使用,if statement ? then_statement : else_statement但希望你能在这里看到没有其他的东西.也许breakcontinue类似的东西?(如果你看到它,可以随意对实际代码进行优化 - 这就是这里的目的)

ruby if-statement ruby-on-rails-3

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

sed 用包含嵌套引号的字符串替换行号处的整行

我想用sed我自己的字符串替换特定行,该字符串必须包含一些嵌套引号,因为它将被另一个程序读取并本身执行命令。

sed -i '63s/^.*$/mystring/' file.txt

其中63是行号,^.*$是选择要替换的整行,mystring是替换字符串,file.txt是要处理的文件。

举例来说,我想mystring exec: echo 'echo "127.0.0.1 localhost" >> /etc/hosts"'知道我该怎么做?我尝试过转义引号。

regex bash sed

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

为什么 %r{ around } 我的 Regex 会破坏我的 gsub?

今天下午 Rubocop 把我拉过来,因为我没有将我的正则表达式文字包装在 %r{} 中。但它随后继续破坏我的 gsub。为什么?

path = '/en/something'
# "/en/something"
locale = 'en'
# "en"
path.gsub(/\A\/#{locale}\/?/, '/')
# "/something" <---- Expected
path.gsub(%r{/\A\/#{locale}\/?/}, '/')
# "/en/something" <---- Unexpected
Run Code Online (Sandbox Code Playgroud)

ruby regex gsub

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

Rails 获取路线列表作为带有参数的路径

我想要一个 Rails 应用程序支持的 URL 列表,但我不想提前提供任何参数。

例如,我想列出user_registration_pathas的路径/%{locale}/users/sign_up

我可以获得一个命名路由列表,如下所示(在 Rails 控制台中测试):

Rails.application.routes.named_routes.helper_names
Run Code Online (Sandbox Code Playgroud)

输出示例:

["rails_info_properties_path", "rails_info_routes_path", "rails_info_path", "rails_mailers_path", "rails_service_blob_path", "rails_blob_path", "rails_blob_representation_path", "rails_representation_path", "rails_disk_service_path"...]
Run Code Online (Sandbox Code Playgroud)

Rails 有什么办法可以实现这一点吗?

routes ruby-on-rails ruby-on-rails-5

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