Я создаю простое приложение для 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
Скриншот ошибки