我的def创建控制器中有以下内容:
@photo = current_user.photos.create(params[:photo].merge(:project_id => params[:project_id])
在我的应用程序中,如果他们有一个project_id,则照片记录有效....
但我需要我的create语句不要出错并且适用于这两种情况。 A.如果有一个param project_id,insertit B.如果不是,请在创建记录时插入默认的NULL值
最聪明的Rails3方法是什么?
由于
答案 0 :(得分:1)
除非您有适当的ActiveRecord验证,否则如果列为零,则不应该引发create方法。
答案 1 :(得分:0)
您可以执行以下操作:
<%= f.hidden_field :project_id, :value => PROJECT_ID_WHICH_CAN_BE_NULL_OR_NOT %>
在您的视图中,以照片形式。然后控制器将是:
@photo = current_user.photos.create(params[:photo])