QA@IT
«質問へ戻る

0
本文
 ``` ruby
 class UserMailer < ApplicationMailer
   def receive(message)
-    puts 'Message was gotten.'
-
   end
 end
 ```

mailman gem でメールを受信し、データベースをStrongParameters を使用して更新する方法

メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ......
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanサーバ (mailman_server.rb)のソースコードは

require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
        @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

また、メールを受信するメーラ(user_mailer.rb)のスクリプトは、次のようになっています。

class UserMailer < ApplicationMailer
  def receive(message)
  end
end
メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ...... 
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanサーバ (mailman_server.rb)のソースコードは
``` ruby
require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
	    @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

```
また、メールを受信するメーラ(user_mailer.rb)のスクリプトは、次のようになっています。
``` ruby
class UserMailer < ApplicationMailer
  def receive(message)
  end
end
```

0
本文
 いろいろ試してるのですが解決できません。
 何か使い方がおかしいのかどなたか教えていただけませんか。
 ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
-mailmanのソースコードは
+mailmanサーバ (mailman_server.rb)のソースコードは
 ``` ruby
 require 'rubygems'
 require 'bundler/setup'
 end
 
 ```
-また、メールを受信するメーラのスクリプトは、次のようになっています。
+また、メールを受信するメーラ(user_mailer.rb)のスクリプトは、次のようになっています。
 ``` ruby
 class UserMailer < ApplicationMailer
   def receive(message)

mailman gem でメールを受信し、データベースをStrongParameters を使用して更新する方法

メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ......
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanサーバ (mailman_server.rb)のソースコードは

require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
        @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

また、メールを受信するメーラ(user_mailer.rb)のスクリプトは、次のようになっています。

class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ...... 
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanサーバ (mailman_server.rb)のソースコードは
``` ruby
require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
	    @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

```
また、メールを受信するメーラ(user_mailer.rb)のスクリプトは、次のようになっています。
``` ruby
class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
```

0
タイトル
Rails のmailman gem を使用して、データベースをStrongParameters を使用して更新する方法
mailman gem でメールを受信し、データベースをStrongParameters を使用して更新する方法

mailman gem でメールを受信し、データベースをStrongParameters を使用して更新する方法

メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ......
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanのソースコードは

require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
        @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

また、メールを受信するメーラのスクリプトは、次のようになっています。

class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ...... 
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanのソースコードは
``` ruby
require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
	    @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

```
また、メールを受信するメーラのスクリプトは、次のようになっています。
``` ruby
class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
```

0
タイトル
Rails のmailman gem を使用して、データベースをStrongParameter で更新する方法
Rails のmailman gem を使用して、データベースをStrongParameters を使用して更新する方法

Rails のmailman gem を使用して、データベースをStrongParameters を使用して更新する方法

メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ......
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanのソースコードは

require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
        @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

また、メールを受信するメーラのスクリプトは、次のようになっています。

class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ...... 
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanのソースコードは
``` ruby
require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
	    @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

```
また、メールを受信するメーラのスクリプトは、次のようになっています。
``` ruby
class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
```

質問を投稿

Rails のmailman gem を使用して、データベースをStrongParameter で更新する方法

メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ......
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanのソースコードは

require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
        @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

また、メールを受信するメーラのスクリプトは、次のようになっています。

class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
メール受信をmailman gem を利用して作成中です。メールの受信はOKなのですが、受信した内容をデータベースへ出力するときに標準のStrong Parameters を使用することがうまくできません。
params.require(:message).permit(:title, :description) を実行するところで次のようなエラーとなります。
..... ERROR -- : private method `require' called for #<ActiveSupport::HashWithIndifferentAccess: ...... 
いろいろ試してるのですが解決できません。
何か使い方がおかしいのかどなたか教えていただけませんか。
ちなみに、mailman のルートに相当する部分(matcher)がparams をサポートしているので、そのあたりとの関係があると思っています。
mailmanのソースコードは
``` ruby
require 'rubygems'
require 'bundler/setup'
require 'mailman'

Mailman.config.poll_interval = 10

Mailman.config.pop3 = {
  server: 'pop.sample.com',
  username: 'test@sample.com',
  password: 'password',
  port: 110,                    
  ssl: false
}

Mailman::Application.run do

  to "%event%@sample.com" do
    begin
      UserMailer.receive(message)

      params[:message] = {}
      params[:message][:title] = message.subject
      params[:message][:description] = message.text_part.body.decoded
	    @message = Message.new(params.require(:message).permit(:title, :description))

      if @message.save
        puts 'Message was successfully created.'
      end

    rescue Exception => e
      Mailman.logger.error "Exception occurred while receiving message:n#{message}"
      Mailman.logger.error [e, *e.backtrace].join("n")
    end
  end
end

```
また、メールを受信するメーラのスクリプトは、次のようになっています。
``` ruby
class UserMailer < ApplicationMailer
  def receive(message)
    puts 'Message was gotten.'

  end
end
```