我正在尝试构建一个简单的应用程序,用户可以在其中发布内容并将问题附加到帖子(post.questions)。
我在 embeds_many 场景中显示视图时遇到问题。虽然我在 PostsController # new 方法中创建了多个问题,但渲染后的 html 仅显示一个问题。
我正在使用 rails4/mongoid/mongodb。
Post.rb:
class Post
include Mongoid::Document
include Mongoid::Timestamps
field :title, type: String
field :body, type: String
embeds_many :post_replies
embeds_many :questions
belongs_to :poster, class_name: "User"
accepts_nested_attributes_for :questions
end
问题.rb。
class Question
include Mongoid::Document
include Mongoid::Timestamps
field :q
embedded_in :post
end
PostsController.rb
class PostsController < ApplicationController
def new
@post = Post.new
3.times{
post.questions.build
}
end
def post_params
params.require(:post).permit(:title, :body, questions_attributes: [:id, :q, :_destroy])
end
end #end controller
Routes.rb devise_for :users resources :users do resources :posts resources :addresses end views/posts/_form.html.erb
<%= form_for([current_user, @post], :html => { :class => "form-horizontal" }) do |f| %>
-
-
<%=f.fields_for @post.questions do|question| %>
<%= question.text_field :q, :placeholder =>'question', :class => "form-control" %>
<%end%>
-
-
<%end%>
我希望上面的字段显示 3 个问题,但它只显示一个问题。我为 fields_for 尝试了不同的方法,但都没有奏效。
非常感谢您对此的任何帮助。
提前致谢。