浏览器在Locals#show中返回以下错误:NilClass:Class的未定义方法'model_name'51:52:53:54:这是我的locals_controller.rb(显示Action)defshow@local=Local.find(params[:id])@foods=@local.foods.paginate(page:params[:page])respond_todo|format|format.html#show.html.erbformat.json{renderjson:@local}end结束这里是foods_controller.rb(创建操作)de
另一个RubyonRails新手问题:在我的帖subview中,我想显示作者姓名。post数据库表存储作者id,它与users表中的usersid列相同。该用户在用户表中也有一个用户名列。有了用户id,我该如何获取用户名呢? 最佳答案 User.find(user_id).username是一种方式。如果你有一个belongs_to帖子和用户之间的关系是post.user.username这更像是“Rails方式”。 关于ruby-on-rails-rubyrails:Accessinf
我的模型中有以下方法可以裁剪记录的描述,但由于未知原因截断方法不起作用:defcropped_descriptionnb_words_max=500ifdescription.length>nb_words_maxtruncate(description,:length=>nb_words_max,:separator=>'')+"..."elsedescriptionendend有人看到我做错了什么吗?谢谢。 最佳答案 你用错了,你应该在String上调用这个方法。参见truncate的签名。使用:ifdescription.le
我想知道从has_many中的连接模型中选择属性的最简单/最优雅的方法是什么:通过关联。假设我们有具有以下Item类的Items、Catalogs和CatalogItems:classItem:catalog_itemsend此外,假设CatalogueItems有一个位置属性,并且在任何目录和任何项目之间只有一个CatalogueItem。检索位置属性的最明显但有点令人沮丧的方法是:@item=Item.find(4)@catalog=@item.catalogs.first@cat_item=@item.catalog_items.first(:conditions=>{:cata
我想向我在RefineryCMS引擎中创建的模型添加一个属性。我知道我可以执行以下操作:rails生成迁移AddPartNumberToProductspart_number:string手动将迁移文件从db/migrate移动到vendor/extensions/products/db/migrate但是是否有命令首先将迁移生成到正确的文件夹中?谢谢! 最佳答案 根据@parndt(theleaddeveloperoftheRefineryproject),我上面概述的方法是正确的。
这个问题在这里已经有了答案:Rails4-Remove"created_at"and"updated_at"fromrender(2个答案)关闭5年前。我是Ruby的新手,所以这个问题对你来说可能看起来很愚蠢,是的。但还是...我有一个模型组,当我运行这个classGroupsController...然后我收到这样的数组响应:[{"id":1020,"name":"НІ-16-1","has_subgroups":true,"created_at":"2017-09-29T10:14:08.000Z","updated_at":"2017-09-29T10:14:08.000Z"}.
是否可以使用Observer来观察JOIN记录的创建?例如,您有一个用户模型has_and_belongs_to_manyBookModels。是否可以在创建或删除books_users记录时监控它们,或者我必须有BookUser模型才能执行此操作?我想观察的例子:User.books或User.books.push(book)或随便!谢谢,戴夫·K。 最佳答案 这就是您应该使用has_many:through而不是has_and_belongs_to的确切原因;它允许您创建一个BookUser模型,其中可以使用常规的activer
今天我们遇到了一个有趣的问题。似乎如果您使用shovel运算符连接ActiveRecord模型上的字符串属性,它不会使模型变脏。例如:e=Employee.firste.name这是有道理的,因为shovel运算符更新字符串而不复制它,而+=运算符将复制字符串。如果您使用shovel运算符,我不明白ActiveRecord怎么可能知道发生了什么变化。有没有人看过这个?是只使用+=的解决方案吗?而不是连接字符串时? 最佳答案 解决方案是您编写。或者你可以在此之前标记你的态度will_changee=Employee.firste.na
在我的Rails3.1应用程序中,我有一个名为“Child”的模型在我的routes.rb文件中,我有一行:resources:children这是整个routes.rb文本:root:to=>"pages#home"resources:children这里是完整的rake路由结果(注意大部分路由都与ActiveAdmin相关):childrenGET/children(.:format){:action=>"index",:controller=>"children"}POST/children(.:format){:action=>"create",:controller=>"ch
我是Rails的新手,我的脚还很湿,所以如果这是微不足道的或“错误的方式”做事,请原谅我。我想为一些脚手架模型创建一个父类(superclass)。例如,我想为Men和Women创建一个脚手架,但我希望它们都继承自People父类(superclass);Men和Women会从People类继承height和weight等字段。我在哪里/如何定义这个People父类(superclass)?如何通过脚手架定义子类Men和Women? 最佳答案 通常我会这样做:railsgscaffoldPeopletype:stringname:s