Ruby on rails 在rails的多个对象表单_中迭代
执行摘要Ruby on rails 在rails的多个对象表单_中迭代,ruby-on-rails,ruby,ruby-on-rails-3,form-for,Ruby On Rails,Ruby,Ruby On Rails 3,Form For,执行摘要 目标:我正在创建一个管理仪表板,可通过表单编辑 我有一个帖子模型,它有两个属性:主题和标题 我已经创建了一个管理控制器,它有一个索引操作 我得到一个错误,声称它找不到未定义的方法 `ActionView的主题:FormBuilder:0x000000031e02c8> 很明显,我有一个“主题”项目!我现在正盯着它看。。。还有诅咒 亲爱的朋友们: 正如你所看到的,我在我的post.title,post.subject中;我遍历每个@posts.each,然后给每个对象传递一个表单!是什么
class Post < ActiveRecord::Base
attr_accessor :title, :subject
end
admin\u dashboards\u controller.rb
class AdminDashboardsController < ApplicationController
def index
@posts = Post.all()
end
块的form_参数不是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>
请出示您的帖子
model,models/Post.rbAlso,在索引页的第2行,您应该使用类帖子<tr>
<% @posts.each do |post| %>
<%= form_for post do |single_post| %>
<td> <%= single_post.subject %> </td>
<td> <%= single_post.submit %> </td>
</tr>
<% end %>
<% end %>
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
<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>