0

我有两个模型,Zombie 和 Tweet。架构如下:

  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 视图中,我添加了一个“New Tweet”按钮,将其发送到 Tweet#new (new_tweet_path)。在 Tweet#new 视图中,我有一个包含两个字段的表单:状态和僵尸 ID。当我到达来自 Zombie 个人资料的 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 中创建一个 Tweet 模型,其中已经填充了zombie_id,它在 params 哈希中传递:

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