Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.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 设置视图的Rails日期格式_Ruby On Rails_Ruby_Date - Fatal编程技术网

Ruby on rails 设置视图的Rails日期格式

Ruby on rails 设置视图的Rails日期格式,ruby-on-rails,ruby,date,Ruby On Rails,Ruby,Date,以dd/mm/yyyy格式在视图中显示日期的最有效方式是什么 我修改了config/initializers/date\u time.rb,如下所示: # Date Date::DATE_FORMATS[:default] = "%d/%m/%Y" 但是,我有一个包含日期的下拉列表,我使用它来传递日期参数date\u id,以便进行搜索。如果我使用上面的行,它不会在应该返回的时候返回任何结果 我的代码: 平衡控制器.rb def statement @dates = Balance

dd/mm/yyyy
格式在视图中显示日期的最有效方式是什么

我修改了
config/initializers/date\u time.rb
,如下所示:

# Date
Date::DATE_FORMATS[:default] = "%d/%m/%Y"
但是,我有一个包含日期的下拉列表,我使用它来传递日期参数
date\u id
,以便进行搜索。如果我使用上面的行,它不会在应该返回的时候返回任何结果

我的代码:

平衡控制器.rb

  def statement
    @dates = Balance.select("distinct(date)").order('date desc')

    if (params[:date_id].blank?)
      @latestDate = Balance.order('date desc').first.date
    else
      @latestDate = params[:date_id]
    end

    @summaryBalances = Balance.joins(:account).order('accounts.credit').where('date = :abc', {abc: @latestDate})
  end
statement.html.erb

<h1>Statement at <%= @latestDate %></h1>

<%= form_tag("/statement", method: "get") do %>
<%= select_tag "date_id", options_for_select( @dates.collect {|d| [ d.date, d.date ] }) %>
<%= submit_tag("Search") %>
<% end %>

<div class="table-responsive">
<table class="table">
  <thead>
    <tr>
      <th>Account</th>
      <th>Balance</th>
      <th colspan="1"></th>
    </tr>
  </thead>

  <tbody>
    <% @summaryBalances.each do |balance| %>
      <tr>
        <td><%= balance.account.name %></td>
        <td class='account-balance'><%= number_to_currency(balance.balance, unit: "£") %></td>
        <td><%= link_to 'Edit', edit_balance_path(balance) %></td>
      </tr>
    <% end %>
  </tbody>
</table>
</div>
....
<%= form_tag("/statement", method: "get") do %>
<%= select_tag "date_id", options_for_select( @dates.collect {|d| [ date_format(d.date), date_format2(d.date) ] }) %>
<%= submit_tag("Search") %>
<% end %>
....
更新的statement.html.erb

<h1>Statement at <%= @latestDate %></h1>

<%= form_tag("/statement", method: "get") do %>
<%= select_tag "date_id", options_for_select( @dates.collect {|d| [ d.date, d.date ] }) %>
<%= submit_tag("Search") %>
<% end %>

<div class="table-responsive">
<table class="table">
  <thead>
    <tr>
      <th>Account</th>
      <th>Balance</th>
      <th colspan="1"></th>
    </tr>
  </thead>

  <tbody>
    <% @summaryBalances.each do |balance| %>
      <tr>
        <td><%= balance.account.name %></td>
        <td class='account-balance'><%= number_to_currency(balance.balance, unit: "£") %></td>
        <td><%= link_to 'Edit', edit_balance_path(balance) %></td>
      </tr>
    <% end %>
  </tbody>
</table>
</div>
....
<%= form_tag("/statement", method: "get") do %>
<%= select_tag "date_id", options_for_select( @dates.collect {|d| [ date_format(d.date), date_format2(d.date) ] }) %>
<%= submit_tag("Search") %>
<% end %>
....
。。。。
....

您需要考虑时区吗?@Austio最终是的。您如何获取日期的Id?您能为下拉列表显示实际HTML输出的示例吗?@Austio,我不知道。我要把日期还给你。