小编TW1*_*147的帖子

如何在Rails中解析CSV时更改编码

我想知道如何在导入并解析它时更改CSV文件的编码.我有这个代码:

csv = CSV.parse(output, :headers => true, :col_sep => ";")
csv.each do |row|
  row = row.to_hash.with_indifferent_access
  insert_data_method(row)
end
Run Code Online (Sandbox Code Playgroud)

当我读取我的文件时,我收到此错误:

Encoding::CompatibilityError in FileImportingController#load_file
incompatible character encodings: ASCII-8BIT and UTF-8
Run Code Online (Sandbox Code Playgroud)

我读过row.force_encoding('utf-8')但它不起作用:

NoMethodError in FileImportingController#load_file
undefined method `force_encoding' for #<ActiveSupport::HashWithIndifferentAccess:0x2905ad0>
Run Code Online (Sandbox Code Playgroud)

谢谢.

ruby csv encoding parsing ruby-on-rails

12
推荐指数
2
解决办法
2万
查看次数

在Ruby on Rails中复制文件

我想将文件从我的计算机复制到另一个指定的路径.该文件必须由用户选择a file_field并且目标已经是硬编码的.我怎样才能做到这一点 ?谢谢.

csv copy ruby-on-rails file filefield

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

将字符串转换为Ruby中的条件

我实际上有一个名为"cond"的字符串.这是该字符串的内容:

"20 < 50"
Run Code Online (Sandbox Code Playgroud)

我想将它插入这样的条件:(示例)

if 20 < 50
return "Hello"
Run Code Online (Sandbox Code Playgroud)

但那个条件是一个字符串,所以我不能这样写:

if cond
return "Hello"
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否可以将字符串转换为条件以设置为"if"条件.如果有可能,我该怎么办?

谢谢.

ruby string boolean conditional-statements

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

Kaminari分页错误

我想用Kaminari分页宝石对我的对象进行分页.我的控制器中有这一行:

@products = Product.order("id").find_all_by_id(params[:id])
Run Code Online (Sandbox Code Playgroud)

我认为这一行:

<%= paginate @products %>
Run Code Online (Sandbox Code Playgroud)

在我的模型中的那一行:

paginates_per 20
Run Code Online (Sandbox Code Playgroud)

当我打开我的页面应该列出我的对象时,我有这样的错误消息:

undefined method `current_page' for #<Array:0x2964690>
Run Code Online (Sandbox Code Playgroud)

在我的<%= paginate @products %>行中引发了例外.

我已经为另一个项目做了一个分页,它的工作非常好.有人可以帮帮我吗?

谢谢 !

pagination ruby-on-rails exception paginate kaminari

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