我的网页由两部分组成,比如顶部和底部(页眉和页脚除外 - 这些部分在页面中是一致的).根据操作动态生成这些部分的最佳做法是什么?
我想出的一种方法是查看顶部和部分底部; 在布局中调用顶部的yield和底部的render部分.部分名称根据操作动态替换.
不确定这是最好的方法.
我正在尝试在application.html.erb的标题中包含登录名(用户名/密码).我收到此错误:
Missing partial /login with {:handlers=>[:rjs, :builder, :rhtml, :erb, :rxml], :locale=>[:en, :en], :formats=>[:html]} in view paths "/app/views"
Run Code Online (Sandbox Code Playgroud)
当我在application.html.erb中进行此调用时,会发生这种情况:
<%= render '/login' %>
Run Code Online (Sandbox Code Playgroud)
'/ login'在我的routes.rb中定义为:
match '/login' => "sessions#new", :as => "login"
Run Code Online (Sandbox Code Playgroud)
更新:这是我的会话控制器:
class SessionsController < ApplicationController
def create
if user = User.authenticate(params[:email], params[:password])
session[:user_id] = user.id
user.last_login = Time.now
user.save
redirect_to root_path, :notice => "login successful"
else
flash.now[:alert] = "invalid login / password combination " # don't show pass + params[:password]
#render :action => "new"
redirect_to login_path, :notice => "wrong …Run Code Online (Sandbox Code Playgroud) 在ZF1中,我们在layout.phtml文件中使用partial
$this->partial('header.phtml', array('vr' => 'zf2'));
Run Code Online (Sandbox Code Playgroud)
我们如何在ZF2中做同样的事情?
这是我渲染部分的代码(正确生成了@parties集合,我测试过了):
<% @parties.each do |party| %>
<div class="item">
<%= render 'parties/party', :object => party %>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是部分代码:
<%= party.name %>
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
undefined method `name' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
我在我的智慧结束,有人请求帮助: - |
此外,这是控制器呈现包含部分视图的控制器的代码(控制器名为default_controller):
def index
@parties = Party.all
end
Run Code Online (Sandbox Code Playgroud)
这不是party_controller,这有什么后果吗?
我有一个多态Review模型。命名空间模型User::Library::Publication是可审查的。评论创建正确,但是当我尝试通过局部显示它们时,Rails查找错误的目录。
在我看来:
<%= render @review %>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Missing partial user/library/reviews/review with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder]}
Run Code Online (Sandbox Code Playgroud)
Rails显然是在名称空间的目录中views/user/library而不是/views/reviews。中寻找审阅部分。知道为什么会这样吗?
我正在使用Rails 4书来关注敏捷Web开发,我对渲染方面有点困惑.这个问题的简单版本是...在application.html.erb文件中
render @cart
Run Code Online (Sandbox Code Playgroud)
这很令人困惑,因为我认为需要有一个与该视图相关联的控制器才能知道要使用哪个部分和@cart变量.是否只是通过命名约定,该行寻找像_cart.html.erb这样的部分?在那种情况下,它实际上不知道@cart是什么,直到它呈现部分?
一些澄清会很可爱.谢谢!
嗨,我想通过说我是编码新手来做序.
我有一个问题,我认为可以通过两种方式解决
A.通过渲染部分
B.通过更新控制器
(我完全错了,但这些是我怀疑的哈哈)
我有两个控制器/视图"评论"和"日志".我希望它们都出现在同一页面上.
我怎样才能做到这一点?我尝试渲染部分但我总是得到一个错误.
我尝试了下面的代码:
这让我的评论显示在页面上,但是当我添加时
@log = @user.logs.all
Run Code Online (Sandbox Code Playgroud)
对它来说,它不会像审查那样将所有日志拉到页面.
def show
@user = User.find_by_name(params[:id])
if @user
@reviews = @user.reviews.all
render action: :show
else
render file: 'public/404', status: 404, formats: [html]
end
end
Run Code Online (Sandbox Code Playgroud) 我很难找到如何使用Spullara Mustache java实现实现partials的示例.他们的github页面似乎没有任何直接的部分示例.
在DefaultMustacheFactory中,我看到了compilePartial和resolvePartialPath的方法,但我不确定是否应该覆盖它们或者是什么.
我目前有这个,它没有偏见很好.TemplateContent包含原始模板html,包括胡子语法.
public Mustache compileMustacheTemplate(String templateCode, String templateContent){
return new DefaultMustacheFactory().compile(new StringReader(templateContent),templateCode);
}
Run Code Online (Sandbox Code Playgroud)
挺直的.但是如果模板内容里面有{{> partialName}}怎么办?我想我还需要以某种方式指定模板内容.
我是否需要扩展DefaultMustacheFactory或可能是另一个类来指定我的部分名称及其内容?
我相信我只是缺少一些东西.
谢谢,马特
我正在尝试在Handlebars中使用动态部分,使用Gulp和gulp-compile-handlebars.
我已经看到了这种自己动手的解决方案,但我相信Handlebars现在支持开箱即用的动态局部,但是我不明白文档对我的期望是什么.
在我的hbs模板中,我想根据数据中的值指定部分名称,例如
"things": [
{
"partial_template": "thing1",
"title": "Thing 1"
},
{
"partial_template": "thing2",
"title": "Thing 2"
}
]
Run Code Online (Sandbox Code Playgroud)
部分命名为:
thing1.hbs,thing2.hbs等
我不认为我的要求需要使用子表达式,因此期望按照Handlebars文档使用查找助手:
{{> (lookup . 'partial_template') }}
Run Code Online (Sandbox Code Playgroud)
但运行Gulp时出现这种错误.
有关我出错的地方的任何建议吗?
因此,我阅读了有关Handlebars零件的官方文档。
它指出:
为了使用局部,必须通过进行注册
Handlebars.registerPartial。
Handlebars.registerPartial('myPartial', '{{name}}')此调用将注册myPartial部分。可以对部分函数进行预编译,并将预编译的模板传递到第二个参数中。
它不解释{{name}}当您不进行任何预编译时应该是什么。我不想注册内联模板,我将它们作为单独的文件存储在中templates/partials,例如templates/partials/_header.hbs。在使用时,我只需要在生成过程中生成HTML gulp-handlebars。
该文档未涵盖如何将外部文件注册为模板(在服务器端使用把手时,我认为这是标准情况)。
有人可以帮忙吗?
partials ×10
controllers ×1
gulp ×1
java ×1
javascript ×1
layout ×1
login ×1
mustache ×1
namespaces ×1
php ×1
render ×1
routes ×1
ruby ×1
session ×1
view-helpers ×1
views ×1