Sql 与控制台而非控制器中的作品有许多直接关联。
我有一个问题,有很多通过协会。 不知何故,美国团体。创造!:name=>测试组,:school=>学校使用跟踪进行正确插入: 0.1ms开始事务SQL 4.5ms插入组 已创建\u at、findeble、姓名、学校、更新\u at值?, ?, ?, ?, ? [[创建时间:2013年10月1日星期二08:13:36 UTC+00:00], [findeble,false],[name,test group],[school,the school], [更新时间:2013年10月1日星期二08:13:36 UTC+00:00]]SQL 0.3ms 插入创建的用户组、组id、更新的用户组, 用户id值?[[于2013年10月1日星期二创建] 08:13:36 UTC+00:00],[集团id,7],[更新日期:2013年10月1日,星期二 08:13:36 UTC+00:00],[用户id,1]]0.5ms提交事务 => 但是当我尝试通过组控制器时Sql 与控制台而非控制器中的作品有许多直接关联。,sql,ruby-on-rails,has-many-through,Sql,Ruby On Rails,Has Many Through,我有一个问题,有很多通过协会。 不知何故,美国团体。创造!:name=>测试组,:school=>学校使用跟踪进行正确插入: 0.1ms开始事务SQL 4.5ms插入组 已创建\u at、findeble、姓名、学校、更新\u at值?, ?, ?, ?, ? [[创建时间:2013年10月1日星期二08:13:36 UTC+00:00], [findeble,false],[name,test group],[school,the school], [更新时间:2013年10月1日星期二08
# GET /groups/new
# GET /groups/new.json
def new
@group = current_user.groups.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @group }
end
end
def create
@group = current_user.groups.new(params[:group])
respond_to do |format|
if @group.save
format.html { redirect_to @group, notice: 'Group was successfully created.' }
format.json { render json: @group, status: :created, location: @group }
else
format.html { render action: "new" }
format.json { render json: @group.errors, status: :unprocessable_entity }
end
end
end
这将创建跟踪:
2013年10月1日10:20:15+0200时,127.0.0.1的职位/组别开始
按组处理控件创建为HTML参数:
{utf8=>✓,
真实性令牌=>FRETQOB5MU2GLNIBG644I09XDOHFSEBTGEVEREQMFGPA=,
组=>{name=>测试组2,学校=>另一所学校,
findeble=>1},commit=>creategroup}用户加载0.2ms
从users.id=1的用户中选择users.*限制1
0.1ms开始事务SQL 0.8ms插入组
已创建\u at、findeble、姓名、学校、更新\u at值?,
?, ?, ?, ? [[于2013年10月1日星期二08:20:15 UTC+00:00创建],
[findeble,true],[name,Test group2],[school,other
[更新时间:2013年10月1日星期二08:20:15 UTC+00:00]]
6.1ms提交事务
这只会创建新的组记录,而不会在联接表中创建记录。我不明白是什么造成了这种差异 您需要使用构建方法:
lol007是对的,或者你也可以这样做 新行动
@group = current_user.groups.build
在创造行动中
@group = current_user.groups.create(params[:group])
嗯。当我在控制台中执行此操作时,它的行为与我通过组控制器执行此操作时的行为相同。它跳过了连接模型。但是当我使用create时!它在加入的模型中创建一个记录。尝试在控制台中保存该记录,如:g=u.groups.build:name=>testgroup,:school=>theschool,然后是g.save
@group = current_user.groups.create(params[:group])