0

Rails 2.3 用に発行された、比較的「古い本」である Head First rails に戻りました。ここで、これらのサンプルをもう一度見て、Rails 3 を使用して、いくつかの質問を思いつきました。

ココナッツ航空のサンプルを適応させており、フライトと座席の代わりに、プロジェクトとタスクがあるとしましょう。

このページには、プロジェクトの説明と、そのプロジェクトに関連付けられたタスクのリストが表示されます。ここまでは順調ですね。その下に、新しいタスクを作成するためのフォームがあります。このタスクには、Task オブジェクトと project_id が必要です。これは、物事が以前のように機能しない場合です。

古いスタイルのようにしたい場合は、次のように入力します。

<%= render :partial => "new_task", 
    :locals =>  {:task => Task.new(@project.id)} %>

まあ、これは大量割り当てエラーを示しています。

次に、両方をパラメーターとして渡そうとしました:

<%= render :partial => "new_task", 
    :locals =>  {:task => Task.new, :project_id  => @project.id} %>

部分的に割り当てます

<%= f.hidden_field :project_id, :value => project_id %>

ヒントはありますか?

編集:

class Task < ActiveRecord::Base belongs_to :project attr_accessible :title end

class Project < ActiveRecord::Base has_many :tasks attr_accessible :description, :title end

4

1 に答える 1

0

モデルの attr_accessible を変更すると、これらの割り当てを含めることができます。attr_accessible と一括代入の詳細については、Ruby on Rails APIを参照してください。

于 2013-03-27T21:38:57.173 に答える