Борьба с безбольничной моделью в рельсах с shopify -NoMethodError в Home # new - PullRequest
0 голосов
/ 19 ноября 2018

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

, так как нет необходимости хранить электронную почту, я создаю модель без таблиц, как показано в руководствах по эпизодам Railscast # 193, # 219, но я получил эту ошибку

«NoMethodError in Home # new» неопределенный метод `emails_path 'для # <#: 0x00005574bfa8a258> Ты имел ввиду? image_path

и я не знаю, как ее решить, зная, что я еще младше с RoR, я тоже добавлю скриншот для ошибки, вот мои файлы

home_controller.rb

class HomeController < ShopifyApp::AuthenticatedController
  # solve the  invalid authenticaty token problem by adding this security 
  # protect_from_forgery is included by default in application controller but we have to
  # add it here manually
  protect_from_forgery

  def index
    @products = ShopifyAPI::Product.find(:all, params: { limit: 10 })
    @orders = ShopifyAPI::Order.find(:all, params: { limit: 10 })
    @webhooks = ShopifyAPI::Webhook.find(:all)
  end

  def new
    @email = Email.new
  end

  def create
    @email = Email.new(params[:themail])
    #byebug
    if @email.valid?
        redirect_to '/ordertocsv'
    else
        redirect_to root_url
    end
  end

end

Модели / email.rb

class Email
  include ActiveModel::Validations
  include ActiveModel::Conversion
  extend ActiveModel::Naming

  attr_accessor :themail

  validates_presence_of :themail
  validates_length_of :themail, :maximum => 500

  def persisted?
    false
  end

end

вид / дом / new.html.erb

<% form_for @email do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :themail %><br />
    <%= f.email_field :themail, required: true %>
  </p>
  <p>
    <%= f.submit "Send Email" %>
  </p>
<% end %>

routes.rb

Rails.application.routes.draw do
  root to: 'home#index'
  get "/ordertocsv", to: "home#new"
  post "/ordertocsv", to: "home#create"
  mount ShopifyApp::Engine, at: '/'
  # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end

Скриншот ошибки enter image description here

...