遍历几个objectsform_forrails
Iterate through several objects form_for rails
执行摘要
- 目标: 我正在创建一个管理仪表板,可由 form_for
编辑
- 我有一个 Post 模型,它有两个属性:主题和标题
- 我创建了一个管理控制器,它有一个索引操作
- 我收到一条错误消息,声称找不到未定义的方法
ActionView:FormBuilder:0x000000031e02c8>
的“主题”
- 很明显我有一件 '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>
执行摘要
- 目标: 我正在创建一个管理仪表板,可由 form_for 编辑
- 我有一个 Post 模型,它有两个属性:主题和标题
- 我创建了一个管理控制器,它有一个索引操作
- 我收到一条错误消息,声称找不到未定义的方法 ActionView:FormBuilder:0x000000031e02c8> 的“主题”
- 很明显我有一件 '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>