Ruby on rails 联系人表单邮件程序未定义方法错误Rails
我整个周末都遇到了一些严重的问题,试图让这个基本的联系方式正常工作 实际上,我希望用户能够填写表单,点击send,并将消息直接发送到预定义的电子邮件地址 我经常遇到的错误是: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
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| %>