у меня есть ситуации, когда я получаю ошибкуСамовольной Параметр, несмотря на включение в сильном Params
Unpermitted parameter: incorporation
однако я его в списке сильного Params:
def company_params
params.require(:company).permit(:id, :name, :employee_stock_options, :options_pool, :state_corp, :street, :city, :state, :zip, :_destroy,
incorporation_attributes: [:title, :trademark_search, :user_id, :employee_stock_options, :final_submit, :submit, :_destroy],
names_attributes: [:id, :name_string, :suffix, :approved, :snapshot, :company_id, :_destroy],
Там в бит улова, который мог бы внести свой вклад в проблему: Контроллер, о котором идет речь, на самом деле является контроллером Incorporation
. Но, как вы могли заметить, мы используем его для создания родительской модели Company
, которая has_one :incorporation
. Я понимаю, что это немного странно, но у меня есть причины для того, чтобы мои модели были структурированы таким образом И для использования incorporations_controller
для этого.
Соответственно, я моя форма структурирована следующим образом:
<%= simple_form_for @company, url: url_for(action: @caction, controller: 'incorporations'), html: {id:"incorporationform"}, remote: false, update: { success: "response", failure: "error"} do |company| %>
<%= company.simple_fields_for @incorporation do |f| %>
<div class="padded-fields">
<div class="form_subsection">
<%= f.input :trademark_search, as: :radio_buttons, label: 'Would you like us to do a trademark search and provide advice regarding any issues we identify in relation to the name you have selected?', input_html: { class: 'form-control radio radio-false' } %>
</div>
</div>
<% end %>
....
<% end %>
Спасибо заранее для любой проницательности
Update: Мои new
и create
методы являются в incorporations_controller
def new
@user=current_user
@company = @user.companies.build
@incorporation = @company.build_incorporation
@action = "new"
@caction = "create"
end
def create
@snapshot="incorporation"
@company = current_user.companies.build(company_params)
@incorporation = @company.build_incorporation
if @company.save
current_user.companies << @company
if params[:final_submit]
redirect_to incorporations_index_path
else
redirect_to edit_incorporation_path(@incorporation), notice: "Successfuly saved incorporation info."
end
else
render 'new', notice: "Something went wrong; form unable to be saved."
# render :nothing => true
end
end
Обновление 2: В Са се это помогает, вот параметры из журнала:
"company"=>{"names_attributes"=>{"145\2853672570"=>{"name_string"=>"test19", "suffix"=>"INC", "_destroy"=>"false"}}, "fiscal_year_end_month"=>"", "fiscal_year_end_day"=>"", "street"=>"", "city"=>"", "state"=>"", "zip"\=>"", "issued_common_stock"=>"10,000,000", "employee_stock_options"=>"false", "options_pool"=>"0", "incorporation"=>{"submit"=>"0"}}, "commit"=>"Save"}
я заметил, что (в отличие от других вложенных атрибутов) включение не имеет _attributes
строку после нее. Может ли это иметь какое-то значение?
Update3: Я также, кажется, создаю запись регистрации в таблице объединений с соответствующим правом собственности. Однако никакие другие поля не заполняются.
'инкорпорация' не указана в ваших сильных параметрах. Попробуй еще раз. – sevenseacat