И записи из обновлений проекта загружаются в новую запись проекта.
Я пытаюсь использовать драгоценный камень кокона для вложенных атрибутов, но добавляю новую запись проекта, а не просто добавляю новые обновления проекта в тот же проект.
У меня есть форма в моем /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