【问题标题】:scoping mongoid_slug作用域 mongoid_slug
【发布时间】:2012-03-08 20:41:48
【问题描述】:

我正在使用mongoid-slug gem,我有这个模型:

class Board
 include Mongoid::Document
 include Mongoid::Timestamps::Created
 include Mongoid::Slug

 field :name

 #slug
 slug :name

end

我在根控制器目录中有一个控制器,名称为 boards_controller.rb

但我在控制器目录中有一个名为 admin 的目录,而我在其他 boards_controller.rb 中有一个目录。

那么对于最后一个控制器,有一个路径 controllers/admin/boards_controller.rb

我只想在第一个控制器中使用 slug。在最后一个控制器中,我不想使用 slug。 我该怎么做?

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 mongoid


    【解决方案1】:

    当你想通过蛞蝓找到你需要做的时候

    Board.find_by_slug(params[:id])
    

    当你想通过他的身份而不是他的蛞蝓找到你时,你可以这样做:

    Board.find(params[:id])
    

    如果你想要slug,你需要做的路径:

    board_url(@board)
    

    或者没有蛞蝓

     admin_board_url(:id => @board.id)
    

    【讨论】:

    • 嘿,谢谢,它运行良好。使用此代码<%= link_to 'Delete', [:admin, board], :confirm => 'Are you sure?', :method => :delete, :class=>'delete_board' %> 如何在没有 slug 的情况下删除方法
    • 问题已通过admin_board_url(:id => board.id) 修复:D。谢谢!
    猜你喜欢
    • 2012-08-14
    • 1970-01-01
    • 2013-03-21
    • 2014-08-07
    • 2014-08-04
    • 1970-01-01
    • 2020-04-22
    • 2015-08-22
    • 2013-11-03
    相关资源
    最近更新 更多