- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有以下(高度简化的)模型,它使用 will_paginate
class Search < ActiveRecord::Base
attr_reader :articles
def after_initialize
@articles = Article.paginate_by_name name, :page => 1
end
end
我的表演 Action 中的 Controller 代码是
@search = Search.new(params[:search])
一切正常,但请注意我将页码硬编码为 1,问题是将 params[:page] 值传递给 after_initialize 方法,有人可以建议一种优雅的方法吗?
谢谢
最佳答案
在初始化方法中添加一个页面参数(或者更好的选项散列参数):
class Search
def initialize(search, options = {})
@options = options
end
def after_initialize
@articles = Article.paginate_by_name name, :page => @options[:page]
end
end
然后在你的 Controller 中:
@search = Search.new(params[:search], :page => params[:page])
如果愿意,您甚至可以为选项散列提供默认值。
关于ruby-on-rails - 将变量传递给模型 after_initialize 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3255525/
我有以下(高度简化的)模型,它使用 will_paginate class Search 1 end end 我的表演 Action 中的 Controller 代码是 @search = Se
每当我的 Rails 4 应用程序在部署后加载时,我想对另一个应用程序进行 REST API 调用,告诉它我的应用程序已准备就绪并开始一些测试。 我最初打算在 initialzers 文件夹中执行此操
inverse_of 似乎在 after_initialize 回调中不起作用 class User :user end class Face :faces after_initialize
更新 我错误地检查了edgerails指南,而不是当前正确的Rails 3指南(其中没有提到after_initialize)。不知道为什么edgerails指南是“不正确的”,但我认为edgerai
为 after_find 和 after_initialize 事件定义回调的唯一方法是将它们定义为方法。如果您尝试使用第二种技术将它们声明为处理程序,它们将被默默忽略。 谁能解释为什么会这样? 为什
我正在使用 FactoryGirl 和 Rspec 进行测试。 如果 init 为 nil,模型会在 init 之后设置一个外键。因此它使用另一个关联的数据。但是我该如何测试呢? 通常我会使用一个工厂
我有以下2个型号 class Sport :productable accepts_nested_attributes_for :product, :allow_destroy => true
我有两个具有一对多关联的模型。我想在初始化时根据父模型的某些状态在子模型上设置默认值。这涉及到在需要通过belongs_to关联访问父级的子级上触发after_initialize回调。问题是,当我使
我有一个这样定义的 Family 类: class Family true validates :name, :presence => true,
我有一个名为 Purchase 的模型,其中包含一个名为 tickets 和 amount 的字段。这个模型属于Event,是有价格的。我想在创建新 Purchase 后调用 update_amoun
我已经为我的项目编写了一个扩展 ActiveRecord 模型行为的方法,我已经删除了其中的大部分内容,请考虑以下代码: class ActiveRecord::Base def self.has
我有一个运行良好的模型: class Weight :user_id 它开始在验证时抛出错误。不是验证错误而是 Ruby 错误: >> w.valid? ActiveRecord::MissingA
我的 Rails 应用程序有许多形成层次结构的模型。例如:零售商 > 部门 > 产品类别 > 产品 > 评论。 业务需求是高权限用户可以与新的或现有的“普通”用户“共享”层次结构中的任何单个元素。如果
我定义了一个 after_initialize和一个 after_find在我的 User 中回调这样的模型: 请假设我的 User有一个名为 email 的属性也是。 class User Use
我正在尝试使用 after_initialize 为对象设置一些默认值。我遇到的问题是,无论如何创建对象,我都希望调用它。 我的类(class): class Foo "things")和Foo.c
型号: class Project :comments end class Post < AR::Base has_many :comments belongs_to :user end 现在
我是一名优秀的程序员,十分优秀!