1
我想在同一時間創建兩個對象,但由於某種原因,我的第二個對象的字段爲空。同時創建兩個對象
的車型有:
Users: id, name, last, email, password ...
Locations: address, longitude, latitude.
的關係,以便爲:
User has_many location
Location belongs_to users
事件控制器創建方法:
def create
@event = current_users.events.build(params[:event])
@location = @event.locations.build(params[:location])
@location.longitude = params[:longitude]
@location.latitude = params[:latitude]
respond_to do |format|
if @location.save
@location.longitude = params[:longitude]
@location.latitude = params[:latitude]
if @location.save
if @event.save
format.html { redirect_to @event, notice: 'Event was successfully created.' }
format.json { render json: @event, status: :created, location: @event }
else
format.html { render action: "new" }
format.json { render json: @event.errors, status: :unprocessable_entity }
end
end
end
end
end
而且形式:
<%= f.hidden_field :latitude %>
<%= f.hidden_field :longitude %>
但是,當我創建我的位置時,我得到空白longitude
和latitude
,但我的event_id
已滿。有沒有更好的方法來同時創建兩個對象?
@YvesSenn說的是你應該使用'params [:location] [:longitude]'而不是'params [:location]' – Khaled
當我把這個undefined undefined方法'[]'nil:NilClass,但我可以看到參數的經度和緯度已正確提交 – Jseb