使用simple_form视图erb生成表单

时间:2016-09-14 23:11:37

标签: ruby-on-rails simple-form

我尝试使用simple_form生成for。我在Gemfile中有gem,运行bundle installgenerate simple_form:install

这是new.html.erb:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <% simple_form_for @post do |f| %>
    <%= f.input  :image %>
    <%= f.input  :caption %>
    <%= f.button :submit %>
    <% end %>
</body>
</html>

我的post_controller.rb

class PostsController < ApplicationController
    def index 
    end

    def new
      @post = Post.new
    end
end

我的模特post.rb:

class Post < ActiveRecord::Base
    validates :image, presence: true

    has_attached_file :image, styles: { :medium => '640x'}
    validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
    validates :image, presence: true

end

我的routes.rb:

Rails.application.routes.draw do
  resources :posts
  root 'posts#index' 
end
  • 我没有收到任何错误,但当我使用localhost加载视图时,我只看到一个纯白页
  • 当我检查使用浏览器工具生成的视图时,我会看到所有的html标签,但没有错误。
  • 当我删除erb并写下Test之类的内容时,我可以在浏览器中看到测试

我无法弄清楚我的代码有什么问题,有什么想法吗?提前致谢

2 个答案:

答案 0 :(得分:0)

我猜您在此代码中错过了=<% simple_form_for @post do |f| %>。 您可以按如下方式执行此操作:

<body>
 <%= simple_form_for @post do |f| %>
  <%= f.input  :image %>
  <%= f.input  :caption %>
  <%= f.button :submit %>
 <% end %>
</body>

答案 1 :(得分:0)

您可以参考此链接https://github.com/plataformatec/simple_form,他们使用的示例中有<%= simple_form_for @user do |f| %>