1

私は RoR を初めて使用し、ActiveResource ActiveRecord を使用する単純な Web アプリケーションを構築しようとしています。

localhost:3001 でホストされている単純な Rails プロジェクトが 1 つあります。アプリケーションには、次のようなウェルカム コントローラーがあります。

class WelcomeController < ApplicationController
  def index
    @persons = []
    num = 0
    until num < 10 do
      @persons[num] = Person.new
      @persons[num].name = [*('A'..'Z')].sample(8).join
      @persons[num].surname = [*('A'..'Z')].sample(64).join 
      @persons[num].dob = Time.at(rand * Time.now.to_i)      
      num+1      
    end

    respond_to do |format|
      format.xml { render :xml => @persons}
    end
  end
end

Person クラスは次のようになります。

class Person
  attr_accessor :name, :surname, :dob
end

この Rails アプリケーションは、localhost:3000 でホストされている他のアプリケーションの REST サービスとして使用する必要があります。

レターアプリケーションのモデルは次のようになります。

class Person < ActiveResource::Base
   self.site = "http://localhost:3001"
end

さて、私の質問は、ビューに10人全員をリストする方法ですか?

個人コントローラーで、個人モデルをActiveResourceとして使用しようとしました:

class PersonController < ApplicationController
  def index
   @persons= Person.find(":all")   
  end
end

PersonController#index でメッセージ ActiveResource::ResourceNotFound を取得する

前もって感謝します。

4

1 に答える 1

0

まず、WelcomeController で 10 人の People を作成しようとしている理由がわかりませんが、もっと良い方法があります。

class WelcomeController < ApplicationController
  def index
    10.times do
      person = Person.new
      person.name = [*('A'..'Z')].sample(8).join
      person.surname = [*('A'..'Z')].sample(64).join
      person.dob = Time.at(rand * Time.now.to_i) 
      person.save # This part is necessary for data to persist between requests
    end

    @persons = Person.all

    respond_to do |format|
      format.xml { render :xml => @persons}
    end
  end
end

次に、もちろん PersonController で使用できます

@persons = Person.all

また

@persons = Person.find(:all)
于 2012-05-31T23:03:05.237 に答える