我正在尝试在同一视图中为两个不同的模型制作两个表单。
我有一个名为category的模型和一个名为post的模型。 我试图在同一视图中为类别创建一个表单,我有一个帖子的表单。 帖子的表单工作正常,但当我尝试添加类别的表单时,我收到此错误: Category :: ActiveRecord_Relation的未定义方法`model_name':Class
category.rb - model
has_many:帖子
post.rb - model
has_many:categories
posts_controller
def index
@posts = new.Post
@categories = new.Category
end
def create
@posts = Post.create(post_params)
@posts.save
redirect_to :back
end
def create_cate
@categories = Categroy.create(categories_params)
@categroies.save
redirect_to :back
end
发布视图 - index.html.erb
<%= form_for(@posts) do |f| %>
<%= f.text_field :title %>
<%= f.text_area :content %>
<%= f.submit %>
<% end %>
<%= form_for(@categories) do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
的routes.rb
resources :posts
resources :categories
root 'posts#index'
我试过搜索if,但我只能找到两种模型的解决方案,一种形式。
提前致谢。 : - )
答案 0 :(得分:3)
因为你在索引动作中说出它:
def index
@post = Post.new
@category = Category.new
end
在您看来:
<%= form_for(@post) do |f| %>
<%= f.text_field :title %>
<%= f.text_area :content %>
<%= f.submit %>
<% end %>
<%= form_for(@category) do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>