У меня возникла проблема с сохранением данных формы и указанием правильной учетной записи. В приведенной ниже форме показано, когда current_user.account_id имеет запись в таблице dataload_mailchimps. Если посетитель добавляет свой ключ api в форму, он должен быть сохранен в таблице dataload_mailchimps вместе с account_id текущего_user.Как создать метод создания в Rails с помощью Devise?
Однако, сейчас api_key сохранен правильно, никакая учетная запись не сохраняется в таблице dataload_mailchimps. Что я должен делать по-другому, чтобы сохранить current_user.account_id в таблице при отправке формы?
Мой контроллер:
class DataloadMailchimpsController < ApplicationController
before_filter :authenticate_user!
def create
@dataload = DataloadMailchimp.new(params[:dataload_mailchimp].merge(
account_id: current_user.account_id)
)
respond_to do |format|
if @dataload.save
format.html { redirect_to edit_dataload_mailchimp_path, notice: 'Dataload mailchimp was successfully created.' }
format.json { render json: @dataload, status: :created, location: @dataload }
else
format.html { render action: "new" }
format.json { render json: @dataload.errors, status: :unprocessable_entity }
end
end
end
Форма (_form.html.haml):
= form_for @dataload, :url => dataload_mailchimp_path do |f|
.fieldset
.field
= f.label :api_key
%br/
= f.text_field :api_key
- if @dataload.new_record? || @dataload.api_key.blank?
%p Please specify Mailchimp API key for additional configuration
.actions
= f.submit 'Update Mailchimp Dataload'
Вы используете атрибут_accessible stuff? разрешено ли 'account_id'? вы пытались установить его прямо? '@dataload.account = current_user.account'? – phoet
@phoet ваши предложения были прямо на. Спасибо за вашу помощь. Я добавил: account_id в attr_accessible и разделил назначение account_id, и он сработал. Вы хотите добавить свои предложения в качестве ответа, и я соглашусь? – analyticsPierce