Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.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 联系人表单邮件程序未定义方法错误Rails_Ruby On Rails_Ruby On Rails 3_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 联系人表单邮件程序未定义方法错误Rails

Ruby on rails 联系人表单邮件程序未定义方法错误Rails,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,我整个周末都遇到了一些严重的问题,试图让这个基本的联系方式正常工作 实际上,我希望用户能够填写表单,点击send,并将消息直接发送到预定义的电子邮件地址 我经常遇到的错误是: NoMethodError in Messages#new Showing C:/Sites/jobapp_v2/app/views/messages/new.html.erb where line #1 raised: undefined method `[]' for nil:NilClass

我整个周末都遇到了一些严重的问题,试图让这个基本的联系方式正常工作

实际上,我希望用户能够填写表单,点击send,并将消息直接发送到预定义的电子邮件地址

我经常遇到的错误是:

  NoMethodError in Messages#new

  Showing C:/Sites/jobapp_v2/app/views/messages/new.html.erb where line #1 raised:

   undefined method `[]' for nil:NilClass

  Extracted source (around line #1):

  1: <%= form_for @message, :url => contact_path do |f| %>
  2: 
  3:    <div class="field">
  4:      <%= f.label :name %>
NotificationsMailer.rb

 class NotificationsMailer < ActionMailer::Base

   default :from => "advertise@artisanmag.co.uk"
   default :to => "tom.pinchen@artisanmag.co.uk"

   def new_message(message)
     @message = message
     mail(:subject => "Hello")
   end
 end
class NotificationsMailer”advertise@artisanmag.co.uk"
默认值:to=>“tom。pinchen@artisanmag.co.uk"
def新建_消息(消息)
@消息=消息
邮件(:主题=>“你好”)
结束
结束
查看/通知\u邮件/new\u message.text.erb

 Name: <%= @message.name %>

 Email: <%= @message.email %>

 Subject: <%= @message.subject %>

 Body: <%= @message.body %>
名称:
电邮:
主题:
正文:
视图/消息/new.html.erb

  <%= form_for @message, :url => contact_path do |f| %>

<div class="field">
  <%= f.label :name %>
  <%= f.text_field :name %>
</div>

<div class="field">
  <%= f.label :email %>
  <%= f.text_field :email %>
</div>

<div class="field">
  <%= f.label :subject %>
  <%= f.text_field :subject %>
</div>

<div class="field">
  <%= f.label :body %>
  <%= f.text_area :body %>
</div>


<%= f.submit "Send" %>

   <% end %>
联系路径do | f |%>

我真的不知道是什么原因导致了这个未定义的方法错误,所以如果有人能提供帮助,我将不胜感激!提前感谢:)

按照您的连接方式,您不需要:url=>联系路径

<%= form_for @message do |f| %>


很好。

嗨,非常感谢你的回复。不幸的是,即使在删除
:url=>contact\u path
之后,我仍然收到相同的错误。还有什么其他想法可能导致此错误?再次感谢您尝试在路由文件中的designe_for:用户之后添加资源:消息。
 Name: <%= @message.name %>

 Email: <%= @message.email %>

 Subject: <%= @message.subject %>

 Body: <%= @message.body %>
  <%= form_for @message, :url => contact_path do |f| %>

<div class="field">
  <%= f.label :name %>
  <%= f.text_field :name %>
</div>

<div class="field">
  <%= f.label :email %>
  <%= f.text_field :email %>
</div>

<div class="field">
  <%= f.label :subject %>
  <%= f.text_field :subject %>
</div>

<div class="field">
  <%= f.label :body %>
  <%= f.text_area :body %>
</div>


<%= f.submit "Send" %>

   <% end %>
<%= form_for @message do |f| %>