草庐IT

ruby - 为什么我会收到 HABTM 协会的 Unpermitted parameters?

我目前正在开始构建一个开源商店目录应用程序。我有FunShop和FunSubcategory模型通过FunSubcategorization模型加入has_many:through关联。在FunShop表单中,我以这种方式添加了Subcategory复选框。当我提交表单时,出现错误Unpermittedparameters:fun_subcategory_ids。我对强参数略知一二,我怀疑这有问题。在我的FunShopController中,我有这个:deffun_shop_paramsparams.require(:fun_shop).permit(:fun_subcategory_

sql - 查找具有多个 ActiveRecord HABTM 关联的记录

我有两个模型,由Has和BelongsToMany连接表连接。让我们称这些模型为用户和事件。大多数用户有0个事件,而少数用户有一个或多个。我想做类似的事情:User.find(:all,:joins=>:events,:conditions=>["'计算事件的东西'>?"],0)问题是,我不确定如何只选择具有1个或多个关联事件的用户。 最佳答案 我找到了答案:User.find(:all,:joins=>:events,:select=>'DISTINCT`users`.*')基本上,users.*将结果集限制为仅用户表,并且DIS

ruby-on-rails - 嵌套形式和 habtm

我正在尝试保存到habtm关系中的连接表,但我遇到了问题。在我看来,我传入了一个组ID:1)%>#Usermodel(user.rb)classUser#UserGroupsmodel(user_groups.rb)classUserGroup#users_controller.rbdefnew@user=User.new(:user_group_ids=>params[:group])end在新用户View中,我可以访问User.user_groups对象,但是当我提交表单时,它不仅没有保存到我的连接表(user_groups_users)中,而且该对象也不再存在。除了用户组之外,我

ruby-on-rails - Rails 检查 HABTM 关联是否已更改

我有一个角色表select*fromroles;id|name----+----------1|admin2|user3|author4|guest5|manager和另一个表user_rolesselect*fromuser_roles;role_id|user_id---------+---------3|13|23|34|53|65|75|81|91|11#role.rbclassRole我正在尝试在用户角色更新时执行一些操作,比如从guest到author#user.rbclassUse但它没有按预期工作(.changed?正在检查role表中的值是否已更新?)。每当用户角色更

ruby - 需要多对多和 habtm-checkboxes 帮助!

出于某种原因,我的groups_user表中没有存储任何信息。我的模型组.rbclassGroup用户.rbclassUsergroups_user.rbclassGroupsUser实体关系图http://i.imgur.com/MqWok.png表格http://i.imgur.com/BwwaV.png查看代码用户Controller.rbdefupdate@user=User.find(params[:id])params[:user][:group_ids]||=[]if@user.update_attributes(params[:user])flash[:success]

sql - 具有 HABTM 关系的过滤模型

我有2个模型-餐厅和功能。它们通过has_and_belongs_to_many关系连接。它的要点是你的餐厅有很多功能,比如送货、披萨、三明治、沙拉吧、素食选择……所以现在当用户想要过滤餐厅并假设他检查披萨和送货时,我想显示所有兼具这两种特色的餐厅;比萨饼、外卖,也许还有更多,但它必须有比萨饼和外卖。如果我做一个简单的.where('featuresIN(?)',params[:features])我(当然)得到的餐厅有-so或披萨或送货或两者-这根本不是我想要的。我的SQL/Rails知识有点有限,因为我是新手,但我问了一个friend,现在我有了这个可以完成工作的huuugeSQL

ruby - HABTM 链接表未在可安装引擎中采用 isolate_namespace 值

我目前正在开发一个可安装的引擎。在引擎中,我有以下两个模型:moduleEmsclassChannel这些是数据库迁移文件:classCreateEmsChannelsfalsedo|t|t.integer:category_id,:null=>falset.integer:channel_id,:null=>falseend#Addtableindexadd_index:ems_categories_channels,[:category_id,:channel_id],:unique=>trueendend当我尝试检索关联的对象时,问题就开始了。例如,当我调用@channel.ge

ruby-on-rails - Rails - 播种 HABTM 协会

Equipment.create(name:"Roomtorun")Equipment.create(name:"Pull-upbar")Workout.create(description:"Do100pull-upsthenrun5km",:equipment=>Equipment.where(:name=>'Pull-upbar'))设备和锻炼具有HABTM关系。上面的种子代码有效,但我怎样才能在分配第一个设备关联的同时分配第二个设备关联? 最佳答案 在where条件下,可以使用数组:Equipment.create(name

ruby-on-rails - 与单表继承关联的 HABTM 关联

我有一个包含很多部分的产品模型,一个部分可以属于很多产品。截面模型有特征、标准和选项的子类。我的模型是:classProduct在我的产品Controller中我可以这样做:@product.sections.build我希望能够像这样访问子类:@product.features.build@product.standards.build@product.options.build但它只是出现“未定义方法‘特征’”等错误。谁能告诉我怎么做? 最佳答案 假设您有一个名为“products_sections”的has_and_belon