Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.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 如何实现类似索引的操作,根据用户参数限制显示的字段?_Ruby On Rails_Model View Controller - Fatal编程技术网

Ruby on rails 如何实现类似索引的操作,根据用户参数限制显示的字段?

Ruby on rails 如何实现类似索引的操作,根据用户参数限制显示的字段?,ruby-on-rails,model-view-controller,Ruby On Rails,Model View Controller,我想实现一个类似于索引的操作,但需要注意的是,如果请求URL中有,它指定需要字段1和字段2,那么它应该只呈现字段1和字段2 如果只对JSON响应执行此操作,那么这将是微不足道的,但是如何对HTML视图实现此操作呢 我能想到的唯一方法是对每个字段的组合有一个单独的视图,但那太疯狂了。当然,一定有一种我完全不知道的方法来实现它。我通过创建一个名为fields的实例变量来解决这个问题,并且我找到了一种足够简洁的方法来编写索引视图代码,这样就不会太乱了 <p id="notice"><

我想实现一个类似于
索引
的操作,但需要注意的是,如果请求URL中有,它指定需要字段1和字段2,那么它应该只呈现字段1和字段2

如果只对JSON响应执行此操作,那么这将是微不足道的,但是如何对HTML视图实现此操作呢


我能想到的唯一方法是对每个字段的组合有一个单独的视图,但那太疯狂了。当然,一定有一种我完全不知道的方法来实现它。

我通过创建一个名为fields的实例变量来解决这个问题,并且我找到了一种足够简洁的方法来编写索引视图代码,这样就不会太乱了

<p id="notice"><%= notice %></p>

<h1>Articles</h1>

<table>
  <thead>
    <% @fields = ["headline", "content", "locale", "classification" ]  unless @fields.present? %>
    <tr>
      <% @fields.each do |field| %>
        <th><%= "#{field.titleize}" %></th>
      <% end %>
    </tr>
  </thead>

  <tbody>
    <% @articles.each do |article| %>
      <tr>
        <% @fields.each do |field| %>
        <td><%= simple_format article.send(field) %></td>
        <% end %>
        <td><%= link_to 'Show', article %></td>
        <td><%= link_to 'Edit', edit_article_path(article) %></td>
        <td><%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Article', new_article_path %>

文章

我通过创建一个名为fields的实例变量来解决这个问题,并且我找到了一个足够简洁的方法来编写索引视图代码,这样就不会太混乱了

<p id="notice"><%= notice %></p>

<h1>Articles</h1>

<table>
  <thead>
    <% @fields = ["headline", "content", "locale", "classification" ]  unless @fields.present? %>
    <tr>
      <% @fields.each do |field| %>
        <th><%= "#{field.titleize}" %></th>
      <% end %>
    </tr>
  </thead>

  <tbody>
    <% @articles.each do |article| %>
      <tr>
        <% @fields.each do |field| %>
        <td><%= simple_format article.send(field) %></td>
        <% end %>
        <td><%= link_to 'Show', article %></td>
        <td><%= link_to 'Edit', edit_article_path(article) %></td>
        <td><%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Article', new_article_path %>

文章

您试过了吗?您必须为视图指定要渲染的内容(Rails倾向于使用实例变量)。您可以控制控制器向视图传递数据的方式,也可以控制视图。如果您现在有任何工作(未过滤),这是微不足道的。@JimStewart我天真地试图做的只是在索引操作中选择某些字段,但这会在它试图呈现索引视图时导致崩溃,因为它仍然希望其他字段存在,问题是我只使用过后端服务和JSON API,在视图方面我完全不知道,我查阅了一些小教程,但在这个特定问题上没有任何真正帮助我的东西。为了回答你们的问题,是的,我已经有了工作,只是因为我用了脚手架。你们试过了吗?您必须为视图指定要渲染的内容(Rails倾向于使用实例变量)。您可以控制控制器向视图传递数据的方式,也可以控制视图。如果您现在有任何工作(未过滤),这是微不足道的。@JimStewart我天真地试图做的只是在索引操作中选择某些字段,但这会在它试图呈现索引视图时导致崩溃,因为它仍然希望其他字段存在,问题是我只使用过后端服务和JSON API,在视图方面我完全不知道,我查阅了一些小教程,但在这个特定问题上没有任何真正帮助我的东西。为了回答你们的问题,是的,我已经有了工作,只是因为我使用了脚手架。