我试图用ruby在Rails用户模型上打开一个文件,并从用户控制器中调用它,但是它一直使我返回错误数量的参数(给定0,应为1..3)。
这是我的文件目录“ app”,“资产”,“文件”,“ test_list.txt” 'app','controllers','users controller'
您能帮忙吗?谢谢
class User < ApplicationRecord
def self.my_method
my_array = []
file = File.join(Rails.root, 'app' 'models','assets', 'files', 'test_list.txt')
File.open.each do |line|
my_array << line.gsub!(/\n?/, "")
end
return my_array.to_s
end
end
class UsersController < ApplicationController
require 'open-uri'
require 'net/http'
def show
# uri = URI('https://gist.githubusercontent.com/Kalagan/3b26be21cbf65b62cf05ab549433314e/raw')
# data = Net::HTTP.get(uri)
# anagrams = data.split(/\n/)
@vari = User.my_method
@query = params[:query]
@results = anagrams.select { |word| @query.split('').sort.join == word.split('').sort.join }
end
end
答案 0 :(得分:0)
您没有将任何内容传递给open
方法。传递文件名
更改
File.open
到
File.open(file)
open
方法至少需要知道它必须打开的文件名
答案 1 :(得分:0)
我认为您错过了逗号。您可以编写以下代码。
file = File.join(Rails.root, 'app', 'models','assets', 'files', 'test_list.txt')
并用于阅读内容
File.read(file) do |file|
file.each do |line|
p line
end
end