0
我有2种型号过程collection_select
第一个模型category.rb
class Category
include Mongoid::Document
# Relationships
has_many :boards, :dependent => :destroy , :autosave => true
accepts_nested_attributes_for :boards
#fields
field :name
#attr
attr_accessible :name, :boards_attributes
end
第二种模式的board.rb
class Board
include Mongoid::Document
#Relationships
belongs_to :category
#fields
field :name
field :description
#attr
attr_accessible :name, :description
end
我有在编辑板查看下一个表格:
<%= form_for [@board], :url => user_board_path do |f| %>
<%= f.text_field :name %>
<%= f.text_area :description, :cols =>72, :rows => 5, %>
<%= f.collection_select :category_id, Category.all, :id, :name%>
<% end %>
和我有更新动作从boards_controller.rb下一个:
def update
@board = Board.find(params[:id])
@category = Category.find(params[:category_id])
@board.category_id = @category
respond_to do |format|
if @board.update_attributes(params[:board])
format.html { redirect_to user_board_path(@board.user, @board), notice: 'Board was successfully updated.' }
format.json { head :ok }
else
format.html { render action: "edit" }
format.json { render json: @board.errors, status: :unprocessable_entity }
end
end
end
为什么我得到@ board.category_id零?我想更新@ board.category_id与我选择的值
谢谢“选择”请求@Baldrick,不适用于我:(。我在日志中获得警告:不能批量分配受保护的属性:category_id'。 – hyperrjas
Tha问题已修复:D。我已将**:category_id **添加到Board Model :'attr_accessible:name,:pins_attributes,:description,:category_id'谢谢y ou非常! – hyperrjas