Ruby on rails 在创建新的ObjectRubyonRails3时添加默认表字段
我的模型是:Ruby on rails 在创建新的ObjectRubyonRails3时添加默认表字段,ruby-on-rails,actioncontroller,Ruby On Rails,Actioncontroller,我的模型是:项目有许多提要。我刚刚在feed表中添加了一列,名为feed\u error。我目前在应用程序上有一个表单,在输入时创建一个新的提要。我希望能够在默认情况下将feed\u error设置为false。在我的feeds\u控制器中,我有我的创建方法: def create @feed = Project.find(params[:project_id]).feeds.build(params[:feed]) respond_to do |format| if @feed.save
项目
有许多
提要
。我刚刚在feed表中添加了一列,名为feed\u error
。我目前在应用程序上有一个表单,在输入时创建一个新的提要。我希望能够在默认情况下将feed\u error
设置为false
。在我的feeds\u控制器中,我有我的创建方法:
def create
@feed = Project.find(params[:project_id]).feeds.build(params[:feed])
respond_to do |format|
if @feed.save
format.html { redirect_to( :back, :notice => 'Feed was successfully created.') }
format.xml { render :xml => @feed, :status => :created, :location => [@feed.project, @feed] }
else
format.html { render :action => "new" }
format.xml { render :xml => @feed.errors, :status => :unprocessable_entity }
end
end
end
我想我可以尝试将
:feed_error=>“false”
添加到参数中,但这似乎不起作用。默认情况下如何设置此字段?您有两个选项。在控制器中,您可以执行以下操作:
def create
@feed = Project.find(params[:project_id]).feeds.build(params[:feed])
@feed.feed_error = false
respond_to do |format|
if @feed.save
format.html { redirect_to( :back, :notice => 'Feed was successfully created.') }
format.xml { render :xml => @feed, :status => :created, :location => [@feed.project, @feed] }
else
format.html { render :action => "new" }
format.xml { render :xml => @feed.errors, :status => :unprocessable_entity }
end
end
end
您还可以在数据库迁移中设置这一点。例如,如果不需要空值,而是希望默认值为false,则可以添加:
t.boolean "feed_error", :null => false
为了你的迁移