Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 On Rails 3 - Fatal编程技术网

Ruby on rails Rails帮助循环有一个,属于关联

Ruby on rails Rails帮助循环有一个,属于关联,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,这是我的kategori控制器显示操作: def show @kategori = Kategori.find(params[:id]) @konkurrancer = @kategori.konkurrancer respond_to do |format| format.html # show.html.erb format.xml { render :xml => @kategori } end end 这是kat

这是我的kategori控制器显示操作:

  def show
    @kategori = Kategori.find(params[:id])
    @konkurrancer = @kategori.konkurrancer

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @kategori }
    end
  end
这是kategori视图显示文件:

<% @konkurrancer.each do |vind| %>
      <td><%= vind.name %></td>
      <td>4 ud af 5</td>
      <td><%= number_to_currency(vind.vaerdi, :unit => "DKK", :separator => ".", :delimiter => ".", :format => "%n %u", :precision => 0) %></td>
      <td>2 min</td>
      <td>Nyhedsbrev</td>
      <td><%= vind.udtraekkes.strftime("%d %B") %></td>
   </tr>
<% end %>

4 ud af 5
“DKK”、:分隔符=>>”、:分隔符=>>”、:格式=>%n%u”、:精度=>0)%>
2分钟
尼赫茨伯夫
我的kategori模型:

class Kategori < ActiveRecord::Base
has_one :konkurrancer
end
class Kategori
我的Konkurancer型号:

class Konkurrancer < ActiveRecord::Base
belongs_to :kategori
end
类konkurancer 我想展示所有与kategori模型有关联的Konkurancer

使用我的代码,我得到以下错误: Kategoris展览中的命名者

显示C:/Rails/konkuranceportalen/app/views/kategoris/show.html.erb,其中第12行凸起:


未定义“#”的“each”方法:konkurancer

问题是您试图在has#one关联上循环。has_one的意思正好是-hasone,所以你不能在这个问题上分别调用,因为只有一个。您可以执行以下操作之一来解决代码中的问题:

使用多个关联:

class Kategori < ActiveRecord::Base
  has_many :konkurrancers
end
class Kategori
使用has_one关联并修改视图:

<tr>
  <td><%= @konkurrancer.name %></td>
  <td>4 ud af 5</td>
  <td><%= number_to_currency(@konkurrancer.vaerdi, :unit => "DKK", :separator => ".", :delimiter => ".", :format => "%n %u", :precision => 0) %></td>
  <td>2 min</td>
  <td>Nyhedsbrev</td>
  <td><%= @konkurrancer.udtraekkes.strftime("%d %B") %></td>
</tr>

4 ud af 5
“DKK”、:分隔符=>>”、:分隔符=>>”、:格式=>%n%u”、:精度=>0)%>
2分钟
尼赫茨伯夫

使用哪一种取决于您的数据模型。如果Kategori有许多Konkurancer,那么使用第一个示例。如果Kategori有一个Konkurancer,那么使用第二个示例。两者都是有效的。

我用过很多。我会尽快批准你的答案(还有5分钟)