【问题标题】:How do we show dynamic data in .erb file like from a json file?我们如何像 json 文件一样在 .erb 文件中显示动态数据?
【发布时间】:2019-01-03 13:56:02
【问题描述】:

我的视图文件夹中有一个视图文件index.html.erb,在那里我以表(引导表)的形式显示了一些数据,这是一个静态表,所以我不得不为这个表写很多行 HTML .

现在,我想以动态形式显示 Table 中的数据,这意味着我想将所有数据保存在 JSON 文件中,并希望在我的视图文件中解析该数据并通过循环获取所有数据在它上面,所以我只有一个 HTML 块,所有表数据都应该通过该代码块创建。

或者有没有其他方法可以在 ruby​​ on rails 中动态获取数据?

我在谷歌上搜索过,但我到处都用 ruby​​ 找到了这个,但我不知道如何在 rails 中执行此操作,我在 .erb 文件中遵循了这个 https://hackhands.com/ruby-read-json-file-hash/ 这不起作用,它仅适用于 .rb 文件.

如果您有任何教程建议,请给我链接。

【问题讨论】:

  • 你能分享一些代码,你的json和html形式的示例数据吗?
  • @ts 谢谢你的回复,兄弟我已经写了所有有问题的东西,你不明白的地方。?

标签: ruby-on-rails json ruby


【解决方案1】:

在 Rails 中,您不会执行诸如在视图 (.erb) 文件中解析 JSON 之类的逻辑。 既然你有一个视图,你也应该有一个相应的控制器。 您应该在控制器文件中进行所需的任何解析,然后使用要显示的数据设置控制器实例变量,然后这些变量将在视图 (.erb) 文件中可用。

这里是一个非常简单的示例,来自一个版本的 rails 教程。

# controller code
class StaticPagesController < ApplicationController
  def home
    if signed_in?
      @micropost = current_user.microposts.build
      @feed_items = current_user.feed.paginate(page: params[:page])
      @gravatar_url = "https://secure.gravatar.com/avatar/#{current_user.gravatar_id}?s=36"
      @markers = current_user.followed_users_map_markers
    end
  end

  def help
  end

  def about
  end

  def contact
  end
end


# partial view  code (showing how to use the variable set in the controller)
<% if @feed_items.any? %>
  <ol class="microposts">
    <%= render partial: 'shared/feed_item', collection: @feed_items %>
  </ol>
  <%= will_paginate @feed_items %>
<% end %>

所以我认为如何在我的视图(.erb 文件)中解析 JSON 的答案是你没有,你在一个纯 ruby​​ (.rb) 文件的控制器中解析它,然后进行解析通过设置控制器实例变量可用于视图(.erb 文件)的数据,这些变量也将在视图(.erb 文件)中可用。

【讨论】:

  • 如果它回答了你的问题,你应该接受它。
猜你喜欢
  • 2012-07-02
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多