Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.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)随机化的奇怪情况_Ruby On Rails_Ruby_Migration - Fatal编程技术网

Ruby on rails Rails(Ruby)随机化的奇怪情况

Ruby on rails Rails(Ruby)随机化的奇怪情况,ruby-on-rails,ruby,migration,Ruby On Rails,Ruby,Migration,好的,我的应用程序控制器中有: class KalendarController < ApplicationController def next @joke = Joke.find_by(id: rand(1..Joke.count)) end def show #random_id = Joke.all.sample #@l = Joke.find_by(id: rand(1..Joke.count)) #@l = Jo

好的,我的应用程序控制器中有:

class KalendarController < ApplicationController


  def next
      @joke = Joke.find_by(id: rand(1..Joke.count))
  end

  def show
      #random_id = Joke.all.sample
      #@l = Joke.find_by(id: rand(1..Joke.count))
      #@l = Joke.find_by_id(@l)
      @l = Joke.all.sample

      @t = Time.now.strftime("%A")
      @week = Date.today.cweek % 2 == 0 ? "#{trans} " "PARZYSTY" : "NIEPARZYSTY"
    end

  def trans
    days = ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota"]
    @t = Date.today.wday
    days[@t]
  end
 end
在Rails服务器中,我看到

Started POST "/jokes/next" for 127.0.0.1 at 2013-12-15 02:03:20 +0100
Processing by KalendarController#next as JS
  Parameters: {"authenticity_token"=>"Vez+9or3fyhLbrqylLfh8lvu21a9iTsVTZA9chqAQkk="}
   (0.3ms)  SELECT COUNT(*) FROM "jokes"
  Joke Load (0.2ms)  SELECT "jokes".* FROM "jokes" WHERE "jokes"."id" = 1 LIMIT 1
  Rendered kalendar/next.js.erb (0.1ms)
Completed 200 OK in 5ms (Views: 3.2ms | ActiveRecord: 0.5ms)

笑话id
用于超过255个字符的笑话。但是在视图中,显示的却是id为3的笑话!发生什么事了

我找到了原因!在
postgresql
中,如果我添加了一个
笑话
(数据库模型),其中包含
内容
,如下所示:

<div class="jumbotron">

    <div class="container">
        <div id="div1" style= "display:none;"><h1><%= @week %> </h1></div>


        <center><h6>Dzisiaj jest: <span class="label label-info"><%= Time.now.strftime("%d.%m.%Y") %></span><iframe class="pull-right" src="//www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2FPWr-Kalendarz%2F622999367760849&amp;width&amp;layout=standard&amp;action=like&amp;show_faces=true&amp;share=false&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:80px;" allowTransparency="true"></iframe></h6></center>

      <div>
      <blockquote class="pull-left">
      <p id="joke_section">
      <%= @l.content %>
      </p>
      <small id="author"><%= @l.author %> </small>


      <%= button_to random_joke_path, {remote: true, class: "btn btn-small"} do %>
       Następny <i class="icon-play"></i>
      <% end %>
      </blockquote>
      </div>

      </div>

</div>
Na lekcji biologi pani pyta Jasia:
- Jasiu z czego składa się serce?
Na to Jasiu:
- z dwóch komor, dwóch przedsionków i nóżek
Na to zdziwiona pani:
- jak to z nóżek?
Jasiu tłumaczy:
- no w nocy słyszałem jak tata mówi: "serduszko rozłóż nóżki"
意思是包含新行的内容
\n
,即使在服务器中随机函数选择此笑话的
id
,笑话也无法显示!但如果我把这个笑话改成这样:

Na lekcji biologi pani pyta Jasia: - Jasiu z czego składa się serce? Na to Jasiu:- z dwóch komor, dwóch przedsionków i nóżek. Na to zdziwiona pani:- jak to z nóżek? Jasiu tłumaczy:- no w nocy słyszałem jak tata mówi: \"serduszko rozłóż nóżki\"
然后这个笑话在随机的情况下毫无问题地出现了顺便说一句,笑话表有一个名为
content
的列,属于
text
类型,这意味着我在Rails中就是这样生成它的。
rails g model笑话内容:text author:string

我不认为
笑话.all.sample
返回一个整数id。它返回一个
笑话
。因此,您的
find
调用是多余的。不确定这是否是问题,但应该检查一下。在回答中再加上“v”不,在你的答案的左侧,在“喜欢”和箭头的下面有“v”的符号。只要按一下我就知道了。你是说“滴答”的标志。我明天才能做。奇怪的是,我做了我想做的
Na lekcji biologi pani pyta Jasia:
- Jasiu z czego składa się serce?
Na to Jasiu:
- z dwóch komor, dwóch przedsionków i nóżek
Na to zdziwiona pani:
- jak to z nóżek?
Jasiu tłumaczy:
- no w nocy słyszałem jak tata mówi: "serduszko rozłóż nóżki"
Na lekcji biologi pani pyta Jasia: - Jasiu z czego składa się serce? Na to Jasiu:- z dwóch komor, dwóch przedsionków i nóżek. Na to zdziwiona pani:- jak to z nóżek? Jasiu tłumaczy:- no w nocy słyszałem jak tata mówi: \"serduszko rozłóż nóżki\"