我在保存表单数据和包含正确的account_id时遇到问题。下面的表单显示current_user.account_id何时在dataload_mailchimps表中有记录。如果访问者将其api密钥添加到表单,则应将其与current_user的account_id一起保存到dataload_mailchimp表中。
但是,现在正确保存了api_key,没有将account_id保存到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'
答案 0 :(得分:1)
如果您不想在attr_accessible
中拥有:account_id,那么您应该直接添加该帐户:
@dataload.account = current_user.account