我已将Refinery CMS升级到最新版本(2.1.0),其中有一种渲染导航菜单的新方法:
(部分_header.html.erb
)
<%= Refinery::Pages::MenuPresenter.new(refinery_menu_pages, self).to_html %>
Run Code Online (Sandbox Code Playgroud)
相同部分的旧版本:
<%= render(:partial => "/refinery/menu", :locals => {
:dom_id => 'menu',
:css => 'menu'
}) %>
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用导航栏添加引导程序样式MenuPresenter
?
自从我开始深入挖掘形式,联想,哈希,符号以来已经差不多一个星期......但似乎没有你的帮助我无法解决这个难题.
我正在开展一个展示不同画廊内容的项目.基本思想是当用户看到画廊的名称(名称是链接)时能够点击所选择的名称.然后显示属于此库的所有图像.在底部应该有一个链接"在此库中添加图像".
我的模特:
class Gallery < ActiveRecord::Base
attr_accessible :name
has_many :pictures
end
class Picture < ActiveRecord::Base
attr_accessible :image
belongs_to :gallery
end
Run Code Online (Sandbox Code Playgroud)
我在gallery_id上为'pictures'表创建了索引.
我的大问题出现在这里,如何将gallery_id传递给控制器的动作'new'.正如我在"使用Rails进行敏捷Web开发"中看到的那样,它可能是:
<%= link_to'在这里添加图片...',new_picture_path(:gallery_id => @ gallery.id)%>
在这种情况下似乎是foreign_key:gallery_id在浏览器的URL栏中公开.第二个问题是:gallery_id可用于控制器的"新"功能,但"创建"功能"消失"(导致错误"无法找到没有ID的图库").当我在_form中为图片添加隐藏字段时,问题就消失了,在我的情况下:
<%= form_for(@picture) do |f| %>
<div class="field">
<%= f.hidden_field :gallery_id , :value=>params[:gallery_id] %>
<%= f.label :image %><br />
<%= f.file_field :image %>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
以下是我在'pictures'控制器中的定义:
def new
@gallery=Gallery.find(params[:gallery_id])
@picture=@gallery.pictures.build
end
def create
@gallery = Gallery.find(params[:gallery_id])
@picture = @gallery.pictures.new(params[:picture])
if @picture.save
redirect_to(@picture, :notice …
Run Code Online (Sandbox Code Playgroud) 我想制作一个带有已发布页面标题的导航菜单。在用户手册中,我可以看到我应该在布局中使用的格式:
{{ 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