hi,

I have two models with many to many associations:

class Project
  include DataMapper::Resource

  property :id, Serial
  property :project_notes, Text
  property :project_name, String
  property :estimate, Integer
  property :project_code, String

  has n, :tasks, :through => Resource
end

class Task
  include DataMapper::Resource

  property :id, Serial
  property :hour_rate, Float
  property :task_name, String
  property :attr, Integer

  has n, :projects, :through => Resource
end

In the router.rb I have this:
Merb::Router.prepare do
  resources :projects do  |project|
    project.resources :tasks
  end
....

For the association in the view I'm using a select control.

<%= select :tasks, :label => "Tasks", :value_method
=> :id, :text_method => :task_name, :collection => Task.all %>

And this is HTML code of the form:
<form method="post" action="/projects/1">
        <input type="hidden" value="put" name="_method">
        <p>
                <label for="project_project_name">Project name</label><input
type="text" class="text" value="test 1" name="project[project_name]"
id="project_project_name">
        </p>
        <p>
                <label for="project_project_code">Project code</label><input
type="text" class="text" value="t101" name="project[project_code]"
id="project_project_code">
        </p>
        <p>
                <label for="project_project_notes">Notes</label>
                <textarea name="project[project_notes]" 
id="project_project_notes">
</textarea>
        </p>
        <p>
                <label for="project_tasks">Tasks</label> <select name="project
[tasks]" id="project_tasks">
                        <option selected="selected" value="1">
                                task 1
                        </option>
                        <option value="2">
                                task 2
                        </option>
                </select>
        </p>
        <p>
                <input type="submit" value="Update" name="submit" id="submit">
        </p>
</form>


When the model gets saved I get error:
No Method Error 500
undefined method `collection=' for "2":String

Params: {"format"=>nil, "submit"=>"Update", "project"=>
{"project_notes"=>"", "project_name"=>"test 1", "tasks"=>"4",
"project_code"=>"dsds"}, "action"=>"update", "_method"=>"put",
"id"=>"1", "controller"=>"projects"}


I guess the actual problem is in incorrect naming of the select field.
Could somebody point me in the right direction?

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"merb" 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/merb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to