2015-03-03 5 views
0

У меня есть две модели "projectaim" и "нежные", ralation:Рубин на рельсы, ActionView UrlHelper link_to новый объект

class Projectaim < ActiveRecord::Base 
    has_many :tenders 
end 

... почти стандартные контроллеры

... и ВСИРО: скажем, что главный объект @projectaim создан alrerady.

На его редактировать вид edit.html.erb я должен сделать ссылку, чтобы создать подчиненную @tender на отдельной форме:

<% @tender.projectaim_id = @projectaim.id %> 
<%=link_to "Add new tender", new_tender_path(@tender)%> 

Не могли бы вы посоветовать мне, как параметризуем новый тендер действия (или вид), чтобы придерживаться отношения на основе моделей? Технически мне нужно заполнить элемент tender.projectaim_id в новом тендерном мероприятии? Thnx всем.

+0

Вложенные ресурсы - ваш друг. –

+0

спасибо за помощь, теперь я изучаю вложенные ресурсы. Кажется понятным. –

ответ

0

В этом случае вы, вероятно, должны использовать nested resources.

Ваш файл маршрутов будет выглядеть как этот

resources :projectaims do 
    resources :tenders 
end 

и вы сделали бы ссылку как этот

<%=link_to "Add new tender", new_projectaim_tender_path(@projectaim, @tender)%> 

Внутри контроллера теперь будет Params [: projectaim_id] в дополнение к Params [:Я бы].

+0

Отличный совет, большое вам спасибо за информацию. Теперь я пытаюсь отредактировать контроллер и просматривать вручную с париальным успехом. Скажите, пожалуйста, есть ли способ восстановить их, потому что params и form_for? Thakns. –

+0

Я не уверен, правильно ли я понял ваш вопрос, но если вам нужно получить form_for помощника, работающего с вложенными ресурсами, вы можете проверить этот вопрос SO http://stackoverflow.com/questions/2034700/form-for-with -nested-resources – Dabrorius

+0

Я знаю, что вы меня хорошо понимаете, сообщение ценно. Я должен отредактировать правильный контроллер и представления вручную. Принципы заключаются в том, что оба объекта должны создаваться в контроллерах торгов (@projectaim и @tenders), а затем я могу использовать его на тендерной форме form_for ([@ projectaim, @tenders]). Я должен настроить контроллер параметрами вручную, возможно, нет никакой автоматизации при создании лесов. Спасибо за помощь. –