Я новичок в рубине на рельсах. Я пытаюсь отправить данные, выбранные по выбору, но при создании действия ActionController :: InvalidAuthenticityToken поднят, и я не могу понять, почему. если я удаляю строку collection_select из формы, то форма отправляет.ActionController :: InvalidAuthenticityToken, когда я использую collection_select в form_for tag
приложение/просмотров/коды/new.html.erb
<%= form_for @code, url: {action: "create"}, html: {class: "form-horizontal form-bordered"} do |f| %>
<div class="form-body">
<div class="form-group TextBoxContainer">
<label class="control-label col-md-2"> Tracking Code(s) </label>
<div class="col-md-6">
<%= f.text_field :code, name: "[code][]" , class: "form-control",placeholder: "Enter Tracking Code(s) for Analytics" %>
</div>
<div class="actions col-md-4 div_tag">
<button type="button" class="btn dark btn-outline add_another_code">
<i class="fa fa-plus"></i> Add Another Code</button>
</div>
</div>
</div>
<!-- <%= f.collection_select(:webpage_id,Webpage.all, :id, :title,{prompt: true})%> -->
<%= f.button :submit, class: 'btn red btn-lg' %>
<% end %>
это мой codes_controller.rb
приложение/активы/контроллер/codes_controller.rb
class CodesController < ApplicationController
def new
@code = Code.new
end
def create
debugger
@code = Code.new
@code.webpage_id = params[:webpage_id]
params[:code].each do |code|
@code.code << code
end
if @code.save
redirect_to '/'
else
render 'new'
end
end
def edit
@code = Code.find(params[:id])
end
def update
@code = Code.find(params[:id])
if @code.update(code_params)
redirect_to '/'
else
render 'edit'
end
end
private
def code_params
params.require(:code).permit(:webpage_id,code:[])
end
end
Вы пробовали добавить g параметр 'authenticity_token: true' в вашу форму? –
Да, я добавил authenticity_token: true для формирования, но все же ActionController повышает недопустимую ошибку аутентификации. –