у меня 3 модели первые user.rb:
class User
has_many :boards, dependent: :destroy
has_many :posts, dependent: :destroy, :autosave => true
accepts_nested_attributes_for :boards
accepts_nested_attributes_for :posts
end
Вторая модель это board.rb
class Board
has_many :posts, :dependent => :destroy , :autosave => true
accepts_nested_attributes_for :posts
belongs_to :user
end
Третья модель ее post.rb
class Post
belongs_to :user
belongs_to :board
end
Я хочу создать новое сообщение с родительской доской в моем действии, новое из posts_controllers У меня есть:
@post = Post.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @post }
end
Я создаю новую доску с:
def create
@board = current_user.boards.new(params[:board])
respond_to do |format|
if @board.save
format.html { redirect_to @board, notice: 'Board was successfully created.' }
format.json { render json: @board, status: :created, location: @board }
else
format.html { render action: "new" }
format.json { render json: @board.errors, status: :unprocessable_entity }
end
end
end
Частично _form.thml.erb У меня есть это:
<%= form_for(@post, :html => {:multipart => true}) do |f| %>
<%= f.label :content %><br />
<%= f.text_area :content %>
<%= f.collection_select :board_id, Board.all, :id, :name%>
<%= f.submit %>
<% end %>
Проблема в том, что в моем поле выбора появляются все доски . Я хочу только показать и выбрать доски, принадлежащие текущему пользователю.
Примечание Я использую монгоид.