0

我正在使用带有导轨的邮件程序,但是应该在哪里显示它的字段它什么也没显示。

观点是:

<% 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%>

邮件控制器:

class MailerController < ApplicationController
  def new
    @message = Message.new
  end
end

消息.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"

有人能帮助我吗?提前致谢!

4

4 回答 4

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 中,您应该=在调用任何视图助手之前放置,即使您将块传递给它。

于 2013-08-08T09:49:16.893 回答
1

利用

<%= simple_form_for(@message, :url => mailer_new_path) do |f| %>
于 2013-08-08T09:49:39.263 回答
1

<% %>适用于任何 Ruby 代码,但不输出结果(例如 if 语句)

<%= %>用于输出 Ruby 代码的结果(例如模型中的值)

<%- and -%>抑制前导和尾随空格

<%# %>是 ERB 评论

于 2013-10-31T15:46:27.010 回答
0

指出不同

<%= simple_form_for(@message, :url => mailer_new_path) do |f| %>
于 2013-08-08T09:49:21.113 回答