Today I tried to run through the examples in the "Hobo Book", using
Hobo 0.8.8.
I am stuck on page 57 of Chapter 4, where you try to create Many-to-
Many associations.

I even tried to copy-paste the fields and associations from the book
directly into recipe.rb, category.rb and category_assignment.rb

category_assignment.rb
----------------------
   fields do
     timestamps
   end

  belongs_to  :category
  belongs_to  :recipe

category.rb
----------------------
  fields do
    name :string
    timestamps
  end

  has_many :recipes, :through => :category_assignments
  has_many :category_assignments, :dependent => :destroy

recipe.rb
----------------------
  fields do
      title   :string
      body    :text
      timestamps
    end

  has_many :categories, :through => :category_assignments, :accessible
=> true
  has_many :category_assignments, :dependent => :destroy
  belongs_to :country

---

Even if I rollback to step 1 of my migrations and do a new
hobo_migration I get the following schema:

  create_table "categories", :force => true do |t|
    t.string   "name"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  create_table "category_assignments", :force => true do |t|
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "category_id"
    t.integer  "recipe_id"
  end

  create_table "recipes", :force => true do |t|
    t.string   "title"
    t.text     "body"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "country_id"
  end

---
Which look completely fine!

In the interface for New/Edit Recipe, I get a drop-down to select a
Category, but when I make a selection nothing happens.
When I make a save, it still says "No category assignments" and when I
go back to edit, I can see my selection wasn't saved.
---

If I look in the console log, I can see this:

Processing RecipesController#update (for 127.0.0.1 at 2009-09-14
14:37:50) [PUT]
  Parameters: {"page_path"=>"recipes/edit",
"authenticity_token"=>"VJvWuMq34S5pxT4rs1eyRpO2DiI87bpSB0x3BcBxsNc=",
"id"=>"1-abe", "recipe"=>{"body"=>"Hello", "title"=>"Abe",
"country_id"=>"1", "categories"=>[""]}}
--

So obviously, the categories parameter remains empty on submit.

--
Looking in the HTML source code:

<div class="input select-many categories-tag array recipe-categories"
name="recipe[categories]">
<div class="item-proto" style="display: none;">
<div class="item proto-item">
<span/>
<input class="proto-hidden" type="hidden" name="recipe[categories][]"/
>
<input class="remove-item proto-remove-button" type="button"
value="Remove"/>
</div>
</div>
<div class="items"> </div>
<select>
<option value="">Add Category</option>
<option value="@1">sour</option>
</select>
</div>

...

So why does the select being generated have no name?
Has anyone out there really made it through this step?

---

Kristian
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Hobo 
Users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/hobousers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to