jjzjj

ruby-on-rails - Rails : Skinny Controller vs. Fat Model,还是我应该让我的 Controller 厌食?

我知道之前已经回答过类似的问题-例如:逻辑应该往哪里走在哪里做某些任务等。但我有一个更具体的问题-我应该在多大程度上采用这个公理:让你的Controller瘦,让你的模型胖!这是一个例子:例如,假设我有多个验证数据源。一个很好的例子是VIN号码-我可以根据制造商数据源、DMV数据源以及我的本地数据库对其进行验证,以查看我的记录。所以我有一个名为Vin和vins_controller的模型。在模型内部我有5种方法:check_against_local_dbcheck_against_dmvcheck_against_car_maker_1check_against_car_maker_

ruby-on-rails - 国际化 : error message localization for particular model

我可以为每个验证本地化错误消息,但我如何为特定模型创建错误。普通语言环境看起来像这样:en:mongoid:errors:messages:taken:"Itisalreadytaken"但我想为user模型更改消息:en:mongoid:errors:messages:taken:"Itisalreadytaken"user:taken:"Itisalreadytaken.%{link_to'Rememberpassword',reset_password_path'}" 最佳答案 试试这个:en:mongoid:errors:m

ruby-on-rails - Rails 4 关注 : Give class instance variables to model

考虑到Rails,我可以通过包含它们来通过模块提供我的模型类方法和实例方法。不过,我发现没有任何博客条目或线程提到如何在我的模型中包含变量。具体来说,我想给我的包含模型一个类实例变量@question,但我不知道将声明放在模块中的什么地方,所以它会被应用。如果模型本身声明了该变量,我还希望重写类实例变量。ActiveSupport::Concern模块真的关心变量吗?moduleContentAttributeextendActiveSupport::Concerndeffoop"hi"endmoduleClassMethods#@question="Iamagenericquesti

ruby-on-rails - rails 上的 ruby : Creating a model entry with a belongs_to association

我正在尝试在我的数据库中为具有belongs_to关系的模型添加一个新条目。我有2个模型,工作和客户。很容易找到有关如何在这两者之间建立关联(使用has_many和belongs_to)的教程,但我似乎找不到任何实际使用关联的示例。在我的代码中,我正在尝试为第一个客户创建一个新工作。jobs模型有一个client_id属性,我知道我可以手动填充该属性,但必须有一些ruby​​约定才能轻松完成此操作。Job.create(:client_id=>1,:subject=>"Test",:description=>"Thisisatest")我可以很容易地将它放入我的代码中,但我觉得ruby

ruby-on-rails - 你如何在 rails 中为 "Likes"建模?

我有3个模型:用户、对象、喜欢目前,我有模型:一个用户有很多对象。我如何进行建模:1)一个用户可以喜欢很多对象2)一个对象可以有很多点赞(来自不同的用户)所以我希望能够做这样的事情:User.likes=用户喜欢的对象列表Objects.liked_by=对象喜欢的用户列表下面的模型肯定是错误的...classUser:likesendclassLikes:likesend 最佳答案 为了进一步阐述我对BrandonTilley的回答的评论,我建议如下:classUser:likes,:source=>:thingendclassL

ruby-on-rails - 在 Controller 中找不到 namespace 内的 Ruby on Rails 模型

我是Rails的新手,无法弄清楚这个问题...我有一个ControllerAdmin::Blog::EntriesController在app/controllers/admin/blog/entries_controller.rb中定义我有一个模型叫做Blog::Entry定义在app/model/blog/entry.rb当我尝试从Controller访问我的模型时,我从这一行得到一个"uninitializedconstantAdmin::Blog::EntriesController::Blog":@blog_entries=Blog::Entry.find(:all)很明显,

ruby-on-rails - rails : Model instance method or helper method?

按照惯例,应将以下定义为我的模型的实例方法还是辅助方法?#app/models/user.rbclassUser或#app/helpers/users_helper.rbmoduleUsersHelperdeffull_name"#{@user.first_name}#{@user.last_name}"endend非常感谢。 最佳答案 选择第一个(保留在模型中),也是因为您可能想做其他事情,比如组合索引:) 关于ruby-on-rails-rails:Modelinstancemeth

ruby-on-rails - ruby /rails : Reopening vs Overwriting a Class

我想向Rails模型添加一个方法,用于测试。如果我这样做classModeldefsomething_newdo_somethingendend在Rails控制台或在运行时加载的文件中,模型被覆盖而不是被修改。如果我在上面的行之前放置类似v=Model.class的内容,新方法将成功添加到现有类中。显然需要引用来表示现有类(class)正在重新开放。另一方面,可以向Fixnum添加一个方法,而无需首先引用它。这是怎么回事,确保现有类被重新打开和修改而不是被覆盖的通常方法是什么?谢谢。 最佳答案 听起来你在使用它之前不需要这个类。当您

ruby-on-rails - 如何保护 Rails 模型属性?

我的发票模型有一个address_id属性,我不希望这个address_id永远改变。所以我不希望这种情况发生在课外:invoice.address_id=1invoice.address=some_addressRails自动将此address_id属性添加到发票表中的模型,那么我如何声明此属性为私有(private)/protected?呼唤attr_protected:address_id很可能不是解决方案,因为根据文档,它只会阻止批量分配。谢谢! 最佳答案 你想要attr_readonly.

ruby-on-rails - rails : How to test if an attribute of a class object is required in the model policy?

简单地说,我有一个模型用户,其中包含名称、电子邮件和评论作为属性。validates_presence_of:namevalidates_presence_of:email所以“姓名”和“电子邮件”是必需的,但不是“评论”。my_user=User.new我想找到一种方法来测试像my_user.name.required?或User.name.required?类似的东西。我的目标是创建一个表单,并根据该项目是否设置为“validates_presence_of”,将特定类动态添加到表单项目span或td我试图搜索它,但没有找到任何相关信息。有没有简单的方法可以做到这一点?谢谢