我正在使用带有rails的邮件程序,但是应该显示它显示的字段。
视图是:
<% simple_form_for(@message, :url => mailer_new_path) do |f| %>
<%= f.error_notification%>
<div class="inputs">
<%=f.input :subject, :hint => "Write the subject here!"%>
<%=f.input :body, :as => :text%>
<div class="actions"%>
<%=f.button :submit , 'Send Email', :class => "primary btn"%>
<% end%>
mailer_controller:
class MailerController < ApplicationController
def new
@message = Message.new
end
end
message.rb:
class Message
include MongoMapper::Document
key :username, String
key :subject, String
key :body, String
#validates_presence_of :username, :body
end
在我的路线中:
get "mailer/new"
get "mailer/create"
是的,有人能帮帮我吗?
提前谢谢!
答案 0 :(得分:4)
而不是:
<% simple_form_for(@message, :url => mailer_new_path) do |f| %>
你应该:
<%= simple_form_for(@message, :url => mailer_new_path) do |f| %>
区别在于<%=
。
在Rails 2中没问题。在Rails 3/4中,你应该在调用任何视图助手之前放置=
,即使你将块传递给它。
答案 1 :(得分:1)
使用
<%= simple_form_for(@message, :url => mailer_new_path) do |f| %>
答案 2 :(得分:1)
<% %>
适用于任何Ruby代码,但不输出结果(例如if语句)
<%= %>
用于输出Ruby代码的结果(例如模型中的值)
<%- and -%>
抑制前导和尾随空格
<%# %>
是ERB评论
答案 3 :(得分:0)
发现差异
<%= simple_form_for(@message, :url => mailer_new_path) do |f| %>