小编BIl*_*han的帖子

在ruby中使用散列进行字符串插值

我的目标是用散列值替换字符串中的键.我是这样做的:

"hello %{name}, today is %{day}" % {name: "Tim", day: "Monday"}
Run Code Online (Sandbox Code Playgroud)

如果散列中缺少字符串中的键:

"hello %{name}, today is %{day}" % {name: "Tim", city: "Lahore"}
Run Code Online (Sandbox Code Playgroud)

然后它会抛出一个错误.

KeyError: key{day} not found
Run Code Online (Sandbox Code Playgroud)

预期结果应为:

"hello Tim, today is %{day}" or "hello Tim, today is "
Run Code Online (Sandbox Code Playgroud)

有人可以指导我的方向,只更换匹配的键而不会丢失任何错误?

ruby string-formatting

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

未初始化的常量 EventController::TempFile

我正在尝试在我的 rails 应用程序中创建一个临时文件。这是控制器代码:

private
def tmp_example
 temp_file = TempFile.new('logo')
 # save uploaded file
 File.open(temp_file.path, "w") do |f|
   f.write session[:user_params]["logo"].delete(:file).read
   f.close
 end
end
Run Code Online (Sandbox Code Playgroud)

我需要 application.rb 中的临时文件

require 'tempfile'
Run Code Online (Sandbox Code Playgroud)

但我仍然收到错误:

未初始化的常量 UsersController::TempFile

谁能解决这个问题谢谢。

ruby-on-rails ruby-on-rails-4

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