我花了一些时间试图找出一个授权控制器的最佳方法,该控制器来自CanCan的宝石.我特意使用舒适的墨西哥沙发.我已经使用Devise和CanCan进行了全部设置,但在Comfy中授权特定控制器时遇到了问题.我能找到的最接近的东西就是我在Fortress CMS的宝石中.
我已经尝试使用初始化器和引擎来扩展before_action和编写一个简单的auth方法.我能找到CanCan和Comfy的唯一东西就在这里,但它只针对网站登录而不是特定的控制器,如页面,博客等.
基本上,它来了 - 我如何能够扩展gem控制器,以便我可以专门为该控制器的用户进行身份验证?
ruby-on-rails devise cancan ruby-on-rails-4 comfortable-mexican-sofa
如何将参数传递给舒适的墨西哥沙发中的部分.我有这样的事情:
module MySnippetHelper
  def my_partial
    # add something into array
  end
end
Run Code Online (Sandbox Code Playgroud)
部分:
 <% my_partial.each do |item| %>
     # some text to display
  <% end unless my_partial.empty? %>
Run Code Online (Sandbox Code Playgroud)
我打电话给我的舒适墨西哥沙发片段:
{{ cms:partial:snippets/my_partial }} 
Run Code Online (Sandbox Code Playgroud)
如何将值传递给partial,以便它可以打印出这样的内容:
 <% my_partial.each do |item| %>
     <%= # My variable that I have passed to the partial %>
  <% end unless my_partial.empty? %>
Run Code Online (Sandbox Code Playgroud)
我得到了正确的显示,但我无法将其显示为部分的自定义变量
我将舒适的墨西哥沙发CMS与我的Rails 3.0.9应用程序集成在一起,omniauth 0.2.6.
博客方面的一切都很好.我可以登录cms-admin,使用管理控制台,发帖和注销(cms-admin有自己的身份验证系统,不同于我的应用程序...),而不是我可以浏览新帖子.
问题是我的应用程序的其余部分,使用omniauth对用户进行身份验证,当我注销/打开时,我收到以下错误:
Started GET "/auth/github" for 127.0.0.1 at 2011-07-25 21:04:46 +0200
  Processing by CmsContentController#render_html as HTML
  Parameters: {"cms_path"=>"auth/github"}
  SQL (0.3ms)  SELECT COUNT(*) FROM "cms_sites"
  Cms::Site Load (0.3ms)  SELECT "cms_sites".* FROM "cms_sites" LIMIT 1
Completed 500 Internal Server Error in 156ms
NoMethodError (undefined method `gsub!' for nil:NilClass):
Run Code Online (Sandbox Code Playgroud)
我的Gemfile.lock在这里:http://pastie.org/2270005
任何帮助将不胜感激.Luca G. Soave
ruby ruby-on-rails omniauth ruby-on-rails-3 comfortable-mexican-sofa
我想制作一个带有已发布页面标题的导航菜单。在用户手册中,我可以看到我应该在布局中使用的格式:
{{ cms:partial:path/to/partial }}
Run Code Online (Sandbox Code Playgroud)
所以我创建了一个带有名称的部分_navmenu.html.haml并将其放在app/views/目录中。我想我应该像这样引用这个部分:
 {{ cms:partial:app/views/navmenu}}
Run Code Online (Sandbox Code Playgroud)
但我只看到 ActionController 的错误消息:
Missing partial app/views/navbar with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in:
* "/Users/qumara/mexicansofa/app/views"  
Run Code Online (Sandbox Code Playgroud)
它似乎在app/views目录中搜索。我想在 Comfy 中的部分是由 Rails 约定引用的(带有下划线前缀)。
堆栈:Ruby on Rails 3.2.14,comfort-mexican-sofa 1.8.4。
我应该如何(从布局)参考舒适墨西哥沙发的部分内容?
任何帮助表示赞赏。
ruby-on-rails content-management-system comfortable-mexican-sofa
在我的routes.rb 中,我想将 root_path 设置为 '/' 而不指定任何控制器或操作。那可能吗?
我试过了,root to: '/'但它在抱怨,没有指定控制器或操作。
更新信息:
我正在使用comfort-mexican-sofa CMS,我的root_path 应该转到cms 根路径。
目前我只是redirect_to '/'在我的控制器中使用并且这是有效的,但我认为使用root_path.
routes ruby-on-rails ruby-on-rails-4 comfortable-mexican-sofa