0

まず、私はRailsの初心者(レールを学びたいと思っているフロントエンドの人)なので、我慢してください。

私は自分自身が学び、問題にぶつかるのを助けるために、簡単なtodoっぽいアプリを作っています。これは私が見逃している非常に単純なものだと思いますが、ここに行きます。

私のアプリでは、ユーザーはいくつかの「process_lists」(基本的には完了するタスクのリスト)を作成できます。また、「プロジェクト」を作成します。各プロジェクトには「process_list」が関連付けられています。Process_listsは再利用可能であり、基本的にはプロジェクトを完了するための一連の手順です。1つのプロセスリストをmnayプロジェクトに使用できます。プロジェクトのデータベーステーブルに、関連付けに役立つ「process_list_id」という列のタグを付けました。これは、ユーザーがプロジェクトを作成するときに行われます。

これでコードが完成しました。これが私のプロジェクトコントローラーの内容です。

   def show
@project = Project.find(params[:id])
@project_process = ProcessList.where(:id =>  @project.process_list_id)

respond_to do |format|
  format.html # show.html.erb
  format.json { render json: @project }
end

終わり

そして私の見解では:

<%= @project_process.all %>

^^これは、次のように行全体を表示するのに最適です。

ProcessList id:6、名前: "Derp Derp Derp Derp"、ステップ:nil、説明: "lasdjlsdjsadas"、created_at: "2012-06-22 16:21:41"、updated_at: "2012-06-22 16:21 :41 "、step1:" sjkdfldsjf "、step2:" alkdfjdlfj "、step3:" lakdfjdljf "、step4:" "、step5:" "、step6:" "、step7:" "、step8:" "、step9:" "、step10:" "、step11:nil、step12:nil、step13:nil、step14:nil、step15:nil、step1_description:" klsdjfldskjf "、step2_description:" sldjfldskjflsdkfjdls "、step3_description:" lkdsfjdlkfjsd "、step3_description:" lkdsfjdlkfjsd "、 step5_description: ""、step6_description: ""、step7_description: ""、step8_description: ""、step9_description: ""、step10_description: ""、step11_description:nil、step12_description:nil、step13_description:nil、step14_description:nil、step15_description:nil>

ここで、この行の特定の列を表示します。たとえば、「step1」。それは本当に簡単に思えますが、私は多くのことを試し、何時間もグーグルで検索しました、そして私はそれを理解することができません。どんな助けでも素晴らしいでしょう。

4

2 に答える 2

1

前の回答に同意しますが、素敵な Rails コードを書きたい場合は、テーブル間の関連付けについて読んでください。

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

また、私はあなたの ProcessList 構造が嫌いです。別のテーブル「Steps」を作成し、関連付けを介してテーブル「Steps」と「ProcessLists」を接続すると、より良いように思えます。

関連について読んでください: has_many、has_one、has_many :through、belongs_to など。これは本当に重要です。

于 2012-06-24T19:21:51.727 に答える
1

質問に直接答えるには:

<%= @project_process.first.step1 %>

これにより、step1列「sjkdfldsjf」の値が出力されます。

has_one :process_listclassに行がある場合は、変数を簡単Projectに割り当てることができます: . クラスに入れることもできるので、リストオブジェクトからプロセスにアクセスできます。@project_process@process_list = @process.process_listbelongs_to :processProcessList

于 2012-06-24T17:35:30.507 に答える