И записите от актуализациите на проекта се качват в новия запис на проекта.
Опитвам се да използвам cocoon gem за вложени атрибути, но добавя нов запис на проект, а не просто добавя нови актуализации на проект в рамките на същия проект
Имам формуляра в моя /views/projects/show.html.haml
= form_for @pu do |f|
#updates
= f.simple_fields_for :project_updates do |u|
= render 'update_fields', f: u
.links
= link_to_add_association 'add updates', f, :project_updates, class: "button"
= f.submit "Submit updates", class: "button"
След това в моя projects_controller.rb
def show
@pu = Project.new
end
def create
@project = Project.new(project_params)
respond_to do |format|
if @project.save
format.html { redirect_to @project, notice: 'Project was successfully created.' }
format.json { render :show, status: :created, location: @project }
else
format.html { render :new }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
private
def project_params
params.require(:project).permit(:name, :address, :client, :budget,
project_updates_attributes: [:updates, :notes, :done, :impact_schedule, :impact_budget, :_destroy])
end
Бих искал непрекъснато да добавям записи в един и същ проект, ако е възможно
РЕДАКТИРАНЕ, добавяне на редакция и актуализация
def edit
end
def update
respond_to do |format|
if @project.update(project_params)
format.html { redirect_to @project, notice: 'Project was successfully updated.' }
format.json { render :show, status: :ok, location: @project }
else
format.html { render :edit }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
Просто стандартно скеле за редактиране и актуализиране.
Все още има проблем с прилагането на вложен атрибут (формуляр) в страница за показване (страница за показване на проект) и когато се опитва да добави нови задачи в проекта, той добавя нов запис на проект и включва задачите в този нов проект, вместо актуализиране на задачите в текущия проект. Ако е възможно да помогна да пренапиша това, което имах, да го поправя, ще бъда оценен.
РЕДАКТИРАНЕ:
За помощ, това е резултатът:
Състояние 1 беше добавено (щракнах върху Изпращане на актуализации), но когато опресня страницата, полето за въвеждане на Състояние 1 се показва и след това, когато се опитах да добавя друга актуализация (Състояние 2), оригиналното Състояние 1 се попълва (в допълнение към новите актуализации), така че ще има непрекъснато добавяне на предишни добавени записи. Просто искам тази страница за показване да добавя само нови актуализации в записите и да не показва съществуващи записи в полетата за въвеждане.
РЕДАКТИРАНЕ 2:
Нов формуляр в страницата за показване, трябваше да премахна url
за предложен отговор по-долу, защото не ми даваше грешка в маршрута
= simple_form_for @project do |f|
#updates
= f.simple_fields_for :project_updates do |u|
= render 'project_update_fields', f: u
.links
= link_to_add_association 'add updates', f, :project_updates, class: "button"
= f.submit "Submit updates", class: "button"
_project_update_fields.haml частично
.nested-fields
= f.input :updates, placeholder: "Updates", label: false
.small-2.column
= f.input :impact_budget, as: :boolean
.small-2.column
= f.input :impact_schedule
.small-12.column
= link_to_remove_association "remove task", f, class: "button"
edit
иupdate
действия или просто сте пропуснали да ни ги покажете? - person nathanvda   schedule 03.02.2016