遍历几个objectsform_forrails

Iterate through several objects form_for rails

执行摘要

  1. 目标: 我正在创建一个管理仪表板,可由 form_for
  2. 编辑
  3. 我有一个 Post 模型,它有两个属性:主题和标题
  4. 我创建了一个管理控制器,它有一个索引操作
  5. 我收到一条错误消息,声称找不到未定义的方法 ActionView:FormBuilder:0x000000031e02c8>
  6. 的“主题”
  7. 很明显我有一件 'subject' 物品!我现在正盯着它看……然后咒骂。

亲爱的朋友们,

如您所见,我在 post.title、post.subject 内;我遍历每个@posts.each,然后向每个人 object 传递一个表单!是什么让它声称我没有物品。这么奇怪?

型号:

class Post < ActiveRecord::Base
    attr_accessor :title, :subject

end

路线:

resources :admin_dashboards

admin_dashboards_controller.rb

class AdminDashboardsController < ApplicationController

  def index
    @posts = Post.all()
  end

查看:index.html.erb

<tr>
<% @posts.each do |post| %>
<%= form_for post do |single_post| %>
<td> <%= single_post.subject %> </td>
<td> <%= single_post.submit %> </td>
</tr>
<% end %>

<% end %>

scheme.rb

  create_table "posts", force: true do |t|
    t.text     "title"
    t.text     "subject"
    t.text     "url"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

form_for块的参数不是post,它是一个FormBuilder。尝试这样的事情:

<tr>
  <% @posts.each do |post| %>
    <%= form_for post do |single_post| %>
      <td> <%= single_post.text_field :subject %> </td>
      <td> <%= single_post.submit %> </td>
    <% end %>
  <% end %>   
</tr>