0

Zombie と Tweet の 2 つのモデルがあります。以下のスキーマ:

  create_table "tweets", :force => true do |t|
    t.string   "status"
    t.integer  "zombie_id"
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false
  end

  create_table "zombies", :force => true do |t|
    t.string   "name"
    t.string   "graveyard"
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false
  end

次の関連付けを使用します。

class Zombie < ActiveRecord::Base
    has_many :tweets
end

class Tweet < ActiveRecord::Base
    belongs_to :zombie
end

Zombie#show ビューに、Tweet#new (new_tweet_path) に送信する「New Tweet」ボタンを追加しました。Tweet#new ビューには、ステータスとゾンビ ID の 2 つのフィールドを持つフォームがあります。ゾンビのプロフィールからの Tweet#new ページにたどり着いたとき、zombie_id を入力する必要はありません。または、前のプロフィールから来たばかりなので、ID を知りたいです。ページ。

これを達成するために何をする必要がありますか? Zombie#show ページから Tweet#new ページにゾンビ オブジェクトを送信する必要があると想定していますが、これを処理するためにコントローラーまたはビューで何をする必要があるかわかりません。何かアドバイス?

4

1 に答える 1

1

Zombie#show ビューで、次のように、zombie_id パラメータをnew_tweet_path呼び出しに追加します。

new_tweet_path(zombie_id: @zombie.id)

次に、Tweet#new で、params ハッシュで渡された、既に埋められているzombie_id を持つ Tweet モデルを作成します。

@tweet = Tweet.new(zombie_id: params[:zombie_id])
于 2012-04-23T05:25:33.790 に答える