ruby-on-rails - rails : How to get the model class name based on the controller class name?

标签 ruby-on-rails ruby-on-rails-3

class HouseBuyersController < ...
  def my_method
    # How could I get here the relevant model name, i.e. "HouseBuyer" ?
  end
end

最佳答案

这样就可以了:

class HouseBuyersController < ApplicationController

  def index
    @model_name = controller_name.classify
  end

end

抽象 Controller 操作时通常需要这样做:

class HouseBuyersController < ApplicationController

  def index
    # Equivalent of @house_buyers = HouseBuyer.find(:all)
    objects = controller_name.classify.constantize.find(:all)
    instance_variable_set("@#{controller_name}", objects)
  end

end

关于ruby-on-rails - rails : How to get the model class name based on the controller class name?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4869917/

相关文章:

ruby-on-rails-3 - 谷歌存储的存储访问凭证,用于 Rails 应用程序中的carrierwave gem

ruby - Rails 中不区分大小写的搜索

css - Bootstrap 没有使用 Ruby on Rails 设计任何样式

javascript - .js.erb 文件中的 link_to

ruby-on-rails - 为什么 Rails 3 Gemfile 中同时引用了 sqlite3 和 sqlite3-ruby gem?

ruby-on-rails - 处理对 heroku 的 PUT 请求中的 gzipped 正文

ruby-on-rails - 在嵌套对象中搜索太阳黑子

ruby-on-rails - Sidekiq 无缘无故被杀

ruby-on-rails - 脚本/rails 与 rails

ruby-on-rails - Rails PaperClip 附件,知道是否有图像缩略图?