Hi All,
I have a form that is creating a ticket model. I am trying to allow
the user to assign employee''s to this newly created ticket model. I
followed the complex form''s railscast, which helped a lot it but it
appears the screencast is for creating two new models, instead of just
creating one model and linking an existing model to it. My problem is
I am just trying to assign employee''s to the ticket model and not
create two new models.
This is the I have so far, which is giving me no errors, it is just
not putting any new data into my employees_tickets table.
TicketsController
class TicketsController < ApplicationController
layout ''global''
def new
@employees = Employee.find(:all)
@ticket = Ticket.new
@ticket.employees.build
end
def create
@ticket = Ticket.new(params[:ticket])
if @ticket.save
flash[:notice] = "Successfully created ticket."
redirect_to :action => "list", :controller =>
"workorders"
else
render :action => ''new''
end
end
end
Ticket Model
class Ticket < ActiveRecord::Base
has_and_belongs_to_many :employees
end
Employee Model
class Employee < ActiveRecord::Base
has_and_belongs_to_many :tickets
end
Create Ticket new.rhtml
<h1>Create Dispatch Ticket</h1>
<% form_for :ticket, :url => { :action => :create } do |form| %>
<p>
<label class="inputlabel">Address</label>
<%= text_field :ticket, :address %>
</p>
<p>
<label class="inputlabel">City</label>
<%= text_field :ticket, :city %>
</p>
<h2>Employees</h2>
<% for employee in @ticket.employees %>
<% fields_for "ticket.employee", employee do |employee_form| %>
<table style="width: 200px">
<% for employee in @employees %>
<tr>
<td><%= employee.name %></td><td><%=
employee_form.check_box :id
%></td>
</tr>
<% end %>
</table>
<% end %>
<% end %>
<br>
<%= submit_tag "Create", :class => "submit" %>
<% end if @ticket.new_record? %>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
I tried simplifying things a bit but no luck either.
View:
<table style="width: 200px">
<% for employee in @employees %>
<tr>
<td><%= employee.name %></td><td><%= check_box_tag
("ticket[employee_ids][]", employee.id) %></td>
</tr>
<% end %>
</table>
Controller:
class TicketsController < ApplicationController
layout ''global''
def new
@employees = Employee.find(:all)
@ticket = Ticket.new
end
def create
@ticket = Ticket.new(params[:ticket])
@ticket.employees = Employee.find(@params[:employee_ids])
if @ticket.save
flash[:notice] = "Successfully created ticket."
redirect_to :action => "list", :controller =>
"workorders"
else
render :action => ''new''
end
end
Error:
NoMethodError in TicketsController#create
You have a nil object when you didn''t expect it!
You might have expected an instance of ActiveRecord::Base.
The error occurred while evaluating nil.[]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Recently I was implementing PDF generation for a project utilizing the
fantastic library Prince XML (http://www.princexml.com). I came across
a blog article with a basic library and helper set for Prince
(http://sublog.subimage.com/articles/2007/05/29/html-css-to-pdf-using-ruby-on-rails
), which provided a great basis. I wanted to make something a little
more generalized and in-keeping the Rails Way, so I have created
''Princely'', a simple wrapper utilizing much of the code from
the
SubImage library but giving it better helpers and pluginizing its
inclusion.
== Installation =
The first step is to download Prince (http://princexml.com/download/)
and install it on your platform of choice (only Linux and Mac OS X
supported by the plugin at this time). Next, simply install the plugin:
script/install plugin http://svn.intridea.com/svn/public/princely
You are now ready to get started using Princely to generate PDF. Note
that Princely is only compatible with Rails >= 2.0
== Usage =
Princely uses the MimeTypes and respond_to blocks from Rails 2.0 to
add PDF as a render option and a format. Because of this, it''s
incredibly easy to implement a PDF! Simply make your XHTML or XML
template and use pdf as the format (e.g. show.pdf.erb), then add code
similar to this in your controller:
class PagesController < ApplicationController
def show
respond_to do |format|
format.html
format.pdf {
render :pdf => @page.pdf_name,
:template => "show.pdf.erb", # not required, shown
for
example
:layout => false # not required
}
end
end
end
And that''s all there is to it! If you add a .pdf to your properly
routed path, you should be presented with a PDF version of the page
generated by Prince. The README
(http://svn.intridea.com/svn/public/princely/README
) has more detailed usage information.
There is a Trac (http://trac.intridea.com/trac/public/) available for
any bugs or patches you might come across. Additionally you can
comment on this at the original blog post
(http://www.intridea.com/2007/12/20/announcing-princely-rails-prince-xml-pdf-wrapper
).
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---