Как открыть файл с помощью ruby? - PullRequest
0 голосов
/ 20 мая 2019

Я пытаюсь открыть файл на пользовательской модели rails с помощью ruby ​​и вызвать его из пользовательского контроллера, но он продолжал возвращать мне неверное количество аргументов (задано 0, ожидается 1..3).

Этомой каталог файлов 'app', 'assets', 'files', 'test_list.txt' 'app', 'controllers', '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



Ответы [ 2 ]

0 голосов
/ 28 мая 2019

Я думаю, что вы пропустили запятую. Вы можете написать следующий код.

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
0 голосов
/ 20 мая 2019

Вы ничего не передаете методу open. Передайте имя файла

Изменение

File.open

до

File.open(file)

open метод должен знать хотя бы имя файла, который должен открыть

...