首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从模型中发布nth属性

从模型中发布nth属性
EN

Stack Overflow用户
提问于 2016-10-03 00:53:16
回答 2查看 63关注 0票数 2

我有一个有学科和等级属性的模范学生。一个学生可以有许多科目和成绩,我想做的是能够发表第二或第三主题列出的特定学生。

例如,用户搜索一个学生,然后单击该学生,这会将他们带到一个单独的页面,列出有关该学生的信息(即,学生id:1)。是否有代码可以添加到视图中,以便从科目和年级属性中列出第n项?

我在网上发现了类似的问题,但这些解决方案都与模型有关,而不是属性。例如,建议在控制器中使用limit方法的一种解决方案,以及建议使用以下代码的另一种解决方案:

代码语言:javascript
复制
 <% firm.state_of_business.split(',').each_with_index do |state, index| %>
        <td> <b>State <%= index + 1 %></b> <%= state %>

当您没有选择特定的模型时,这似乎工作得很好。当您选择一个特定的模型(即,学生id:1)时,这似乎不起作用。至少对我来说不是。现在,我下面的代码显示了第一项。我怎样才能把第一、第一、第二和第二、第三、第三等科目列出来呢?参见下面的示例代码。请注意,我在这里尝试了其他的解决方案,但无法让它们发挥作用,这使我认为我的问题可能不同于以前提出的问题。谢谢你的帮助。

视图代码

代码语言:javascript
复制
<h2>Students</h2>

    <p> Student:
   <%= @student.name %>
</p>

<table>
  <tr>
     <th> Subject </th>
     <th> Grade </th>

</tr>
    <tr>
         <td><%= @student.subject %> </td>
         <td><%= @student.grade %> </td>
    <tr>
    </table>

控制器显示方法

代码语言:javascript
复制
  def show
     @user = current_user 
     @student = Student.find(params[:id])
  end

期望输出

代码语言:javascript
复制
Student: Matt Jones

Subject  Grade
Math      95
History   90
English   91  
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-03 22:33:48

尝试添加以下代码:

代码语言:javascript
复制
  <%= @student.grade.split(',')[0] %>

将在数组中发布第一个项。我将发表第二项,等等,这应该有效。

票数 1
EN

Stack Overflow用户

发布于 2016-10-03 01:59:38

我想您可以创建另一个名为Subject的模型,并在class Student中添加has_many :subjects

class Subject中,您可以添加这一行belongs_to :student

然后你可以这样做:

代码语言:javascript
复制
<% @student.subjects.each do |subject| %>
  <tr>
    <td><%= subject.name %> </td>
    <td><%= subject.grade %> </td>
  <tr>
<% end %>   

为了说明清楚,在上面的示例中,Subject模型包含属性namegrade

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39823230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档