передать массив скрытому полю в рельсах вложенной модели
У меня есть следующий код на мой взгляд:
30 %>
параметры, передаваемые в консоли
Parameters: {"authenticity_token"=>"LJ/ZME2lHZ7VwCDgPKX6OFe326fXSXo5UB4M0cPwbCE=", "esthour"=>{"rfp_id"=>"6", "ecommerce_est_hours"=>"", "modul1hours"=>{"module_est_hours"=>"3"}, "designpages_est_hours"=>"", "cms_est_hours"=>""}, "modul1_ids"=>["12", "13", "14"], "utf8"=>"✓", "project_id"=>"second", "commit"=>"Add Todo"}
Текущий пользователь: admin (id = 1)
modul1_ids - это скрытый массив, основанный на том, что три текстовых поля созданы, но когда я отправляю страницу, я получаю:
ActionView::Template::Error (undefined method `merge' for 12:Fixnum):
в первом текстовом поле я прошел 1 секунду 2 и в третьем 3
Последнее значение (3) - это пропуск, который можно увидеть в параметрах консоли.module_est_hours"=>"3
, но как насчет остальных двух полей у, не пропускающих и каково решение для ошибки. Пожалуйста, помогите мне.
Редактировать 1
30 %>
этот код не выдает ошибку, но и значение не сохраняется вmodul1hours
Таблица
Полеmodul1hours
таблицы являются:]
integer :modul1_id
decimal :module_est_hours
decimal :module_act_hours
integer :esthours_id
.rb
принадлежат: Esthour
attr_accessible: module_est_hours,: module_act_hours
и контроллер
Обновить
def new
@esthour = Esthour.new
@gg = @esthour.modul1hours.build
@project = params[:project_id]
@rfp = params[:rfp_id]
@m1 = Modul1.where(:rfp_id => @rfp.id)
respond_to do |format|
format.html # new.html.erb
format.json { render :json => @esthour }
end
конецОбновление # GET / project_todos / 1 / edit
def edit
@esthour = Esthour.find(params[:id])
end
def create
@project = params[:project_id]
@esthour = Esthour.new(params[:esthour])
user_params = params.select{|k,v| k.include?('esthour')}
respond_to do |format|
if @esthour.save
get_issue_attribute_param1(user_params)
format.html { redirect_to project_rfp_url(@project,@esthour.rfp_id), :notice => 'hours was successfully created.' }
format.json { render :json => @esthour, :status => :created, :location => @esthour }
else
format.html { render :action => "new" }
format.json { render :json => @esthour.errors, :status => :unprocessable_entity }
end
end
end
Нужна ли какая-либо сборка? Например, Esthour.modul1hour.build в новой записи контроллера, потому что запись не сохранена в таблице?
Посмотреть
@rfp.id,:project_id => @project do |b| %>
@rfp.id %>
Menutype
Number of menu
id %>
30 %>
@esthour = Esthour.new
@gg = @esthour.modul1hours.build
@project = params[:project_id]