Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails create方法的Rails邮件表单问题_Ruby On Rails_Ruby_Mail Form - Fatal编程技术网

Ruby on rails create方法的Rails邮件表单问题

Ruby on rails create方法的Rails邮件表单问题,ruby-on-rails,ruby,mail-form,Ruby On Rails,Ruby,Mail Form,通过本教程,我创建了一个应用程序,它使用mail_表单在rails中发送电子邮件。然后我想在我的应用程序中使用它。不幸的是,它不起作用。我注意到教程使用了create(由HomeController处理#create as JS)方法,而我的应用程序使用了index(由StaticsController处理#index as JS)方法。我将其从控件中删除,但没有导致错误。如何指向create方法? statics\u controller.rb class StaticsController

通过本教程,我创建了一个应用程序,它使用mail_表单在rails中发送电子邮件。然后我想在我的应用程序中使用它。不幸的是,它不起作用。我注意到教程使用了create(由HomeController处理#create as JS)方法,而我的应用程序使用了index(由StaticsController处理#index as JS)方法。我将其从控件中删除,但没有导致错误。如何指向create方法?
statics\u controller.rb

class StaticsController < ApplicationController

  def contact
    @contact = Statics.new(params[:statics])
  end

  def create
    @contact = Statics.new(params[:statics])
    @contact.request = request

    if @contact.deliver
        @contact = Statics.new
        end
    end
  
end
Rails.application.routes.draw do
  get 'statics/index'
  get 'statics/contact'
  root "statics#index"
  resources :pages
  match ':controller(/:id(/:action))', :via=>[:get,:post]
  resources :statics, only: [:contact, :new, :create]
end
class Statics < MailForm::Base
    attribute :name,      :validate => true
    attribute :email,     :validate => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
    attribute :message
  
    # Declare the e-mail headers. It accepts anything the mail method
    # in ActionMailer accepts.
    def headers
      {
        :subject => "Your message has been sent.",
        :to => "kontakt@przemyslawprzewoznik.pl",
        :from => %("#{name}" <#{email}>)
      }
    end
end
<%= form_for @contact, url: statics_contact_path, remote: true do |f| %>
<div class="col-md-6">

    <%= f.label :name %></br>
    <%= f.text_field :name, required: true %></br>

    <%= f.label :email %></br>
    <%= f.text_field :email, required: true %></br>

    <%= f.label :message %></br>
    <%= f.text_field :message, required: true %></br>

    <%= f.submit "Wyślij", class: "btn btn-primary"%>
</div>
<% end %>
 config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors= true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'gmail.com',
    user_name:            ENV["GMAIL_EMAIL"],
    password:             ENV["GMAIL_PASSWORD"],
    authentication:       'plain',
    enable_starttls_auto: true  }
模型静力学.rb

class StaticsController < ApplicationController

  def contact
    @contact = Statics.new(params[:statics])
  end

  def create
    @contact = Statics.new(params[:statics])
    @contact.request = request

    if @contact.deliver
        @contact = Statics.new
        end
    end
  
end
Rails.application.routes.draw do
  get 'statics/index'
  get 'statics/contact'
  root "statics#index"
  resources :pages
  match ':controller(/:id(/:action))', :via=>[:get,:post]
  resources :statics, only: [:contact, :new, :create]
end
class Statics < MailForm::Base
    attribute :name,      :validate => true
    attribute :email,     :validate => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
    attribute :message
  
    # Declare the e-mail headers. It accepts anything the mail method
    # in ActionMailer accepts.
    def headers
      {
        :subject => "Your message has been sent.",
        :to => "kontakt@przemyslawprzewoznik.pl",
        :from => %("#{name}" <#{email}>)
      }
    end
end
<%= form_for @contact, url: statics_contact_path, remote: true do |f| %>
<div class="col-md-6">

    <%= f.label :name %></br>
    <%= f.text_field :name, required: true %></br>

    <%= f.label :email %></br>
    <%= f.text_field :email, required: true %></br>

    <%= f.label :message %></br>
    <%= f.text_field :message, required: true %></br>

    <%= f.submit "Wyślij", class: "btn btn-primary"%>
</div>
<% end %>
 config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors= true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    address:              'smtp.gmail.com',
    port:                 587,
    domain:               'gmail.com',
    user_name:            ENV["GMAIL_EMAIL"],
    password:             ENV["GMAIL_PASSWORD"],
    authentication:       'plain',
    enable_starttls_auto: true  }