Hi everybody,
Thank you for reading this, may you can help me out here, because I
looked at many ressources and didn’t find a solution yet.
Thank you very much
regards
Rafael
First question
I have a two model app: vacancy, candidacy
- vacancy has many candidacies
- candidacy belongs to vacancy
How can I access a ressource directly, even if its a nested ressource?
How can I manage this, that creating a new candidacy can be done
without having a relation to a vacancy, so that having a vacancy isn’t
mandatory?
A cancidacy could be applied in relation to an existing vacancy or a
spontanous application, and how should then the REST ressources look
like, is there a DRY way to do it or do I actually have to create two
different forms?
What is working is this:
vacancies/10200-31/candidacies/new
but not
candidacies/new
I got this error:
ActionView::TemplateError (candidacies_url failed to generate from
{:action=>“index”, :controller=>“candidacies”} - you may have
ambiguous routes, or you may need to supply additional parameters for
this route. content_url has the following required parameters:
[“vacancies”, :vacancy_id, “candidacies”] - are they all satisifed?)
on line #6 of app/views/candidacies/new.rhtml:
3: <%= error_messages_for :candidacy %>
4:
5:
6: <% form_for(:candidacy, :url => candidacies_path(), :html =>
{ :method => :post, :multipart => true}) do |f| %>
7:
8: <%
9:
Second question
Is this the right way for meaningful URLs?
vacancy_path(vacancy.vacancy_number) =>>> vacancies/10200-31
and in the show action
def show
@vacancy = Vacancy.find_by_vacancy_number(params[:id])
end
Is this a good way to do it? Or do I have to make other settings in
the routes.rb, so that the app knows, which attribute is gonna be
submitted? (The attribute params[:vacancy_number] is used though)
My routes.rb looks like this
First, this is my routes.rb
map.resources :vacancies do |vacancy|
vacancy.resources :candidacies
end
map.connect ‘:controller/service.wsdl’, :action => ‘wsdl’
Install the default route as the lowest priority.
map.connect ‘:controller/:action/:id.:format’
map.connect ‘:controller/:action/:id’
end