Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将自定义字段日期指定给MotorveCms中的变量_Ruby On Rails_Ruby_Liquid_Locomotivecms - Fatal编程技术网

Ruby on rails 将自定义字段日期指定给MotorveCms中的变量

Ruby on rails 将自定义字段日期指定给MotorveCms中的变量,ruby-on-rails,ruby,liquid,locomotivecms,Ruby On Rails,Ruby,Liquid,Locomotivecms,我试图给一个变量分配一个日期,目的是打破布局。也许有更好的方法可以做到这一点,所以请随意推荐替代方案 我有一个news\u项目的模型,其中有一个名为news\u date的日期字段。每当遇到新的一年,我想浏览每个模型条目并开始一个新的部分。我的计划相当基本: {% assign curYear = "" %} {% for news in contents.news_items %} {% assign prevYear = curYear %} {% assign curYear

我试图给一个变量分配一个日期,目的是打破布局。也许有更好的方法可以做到这一点,所以请随意推荐替代方案

我有一个news\u项目的模型,其中有一个名为news\u date的日期字段。每当遇到新的一年,我想浏览每个模型条目并开始一个新的部分。我的计划相当基本:

{% assign curYear = "" %}
{% for news in contents.news_items %}
  {% assign prevYear = curYear %}  
  {% assign curYear = news.news_date.year %} <-- this does not work
  {% if prevYear != curYear %}
    <h1>Press Releases for {{ news.news_date | format_date: '%Y' }}</h1>
  {% endif %}
  <p>{{curYear}}</p> <-- this is always empty
  <p>{{news.content}}</p>
{% endfor %}
{%assign curYear=”“%}
{contents.news_items%}
{%assign prevYear=curYear%}

{%assign curYear=news.news\u date.year%}多亏了google组中的一位帮助者,我看到了
capture
标记,它将页面上原本会输出的内容捕获到一个变量中:

而不是这个(或者我尝试的各种迭代
assign
):

利用
format\u date
过滤器,这项功能非常有效:

{% capture curYear %} {{ news.news_date | format_date: '%Y' }} {% endcapture %}
{% capture curYear %} {{ news.news_date | format_date: '%Y' }} {% endcapture %}