Home > Back-end >  "syntax error, unexpected '\n', expecting '.' or &. or :: or '['
"syntax error, unexpected '\n', expecting '.' or &. or :: or '['

Time:09-21

I want to redirect another page or give alert messages due to user table info in this controller.

but, I get bellow error message. like this:

enter image description here

class Ir::FactsetUrlsController < Ir::ApplicationController
  def show
    user = User.find(params[:user_id])

    factset_url, option = get_factset_url(user)
    redirect_to factset_url, option
  end

  private

  def get_factset_url(investor)
    url, option = if !current_user.factset_enabled?
      url, {alert:  "こちらの閲覧には有料契約が必要です。"}
    elsif investor.company.is_fresh?
      url, {alert: "現在収録作業中です。申し訳ございませんが、少々お待ち下さい。"}
    elsif investor.company.is_fresh?
      url, {alert: "申し訳ございませんが、投資家DBに収録がありません 収録されていない理由 ①投資助言会社や投資アドバイザーなど直接保有していない ②HPや開示されている情報がない"}
    else
      investor.company.factset_url
    end
  end
end

CodePudding user response:

Simply wrap in square brackets [ and ] within conditions as multiple values are being assigned.

def get_factset_url(investor)
  url, option = if !current_user.factset_enabled?
    [url, {alert:  "こちらの閲覧には有料契約が必要です。"}]
  elsif investor.company.is_fresh?
    [url, {alert: "現在収録作業中です。申し訳ございませんが、少々お待ち下さい。"}]
  elsif investor.company.is_fresh?
    [url, {alert: "申し訳ございませんが、投資家DBに収録がありません 収録されていない理由 ①投資助言会社や投資アドバイザーなど直接保有していない ②HPや開示されている情報がない"}]
  else
    [investor.company.factset_url, nil]
  end
end
  • Related