Simple_form是空白的!没有显示

时间:2013-08-08 09:47:48

标签: ruby-on-rails mongodb simple-form

我正在使用带有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"
是的,有人能帮帮我吗? 提前谢谢!

4 个答案:

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