AlphaUser라는 모델이 있습니다. 새 알파 사용자를 만들기 위해 양식을 제출하면 params [: post]에 데이터가 없음을 알립니다. 어떻게 될 수 있습니까?양식을 제출할 때 게시 된 매개 변수가 없습니다.
형태에 대한 나의 코드 :
<%= form_for :alpha_user,
url: alpha_users_path,
class: "form",
id: "alphaTest" do |f| %>
<div class="form-group">
<%= f.label :email %>
<%= f.text_field :email,
class: "form-control", placeholder: "[email protected]" %>
<%= f.text_field :producer,
class: "hidden", value: "0" %>
</div>
<%= f.submit "Request Access", class: "btn btn-primary" %>
<% end %>
내 컨트롤러 :
class AlphaUsersController < ApplicationController
def create
render text: params[:post].inspect
end
end
데이터는 여전히 받았다되어
, 그냥 형식 :
{"utf8"=>"✓", "authenticity_token"=>"blahblahblah", "alpha_user"=>{"email"=>"[email protected]", "producer"=>"0"}, "commit"=>"Request Access", "action"=>"create", "controller"=>"alpha_users"}
params [: post]의 출처는 어디입니까? 귀하의 양식은 alpha_user를위한 것입니다. params [: alpha_user] –
을 참조 할 필요가 있습니다. 폼의 메서드가 POST 였기 때문에 데이터가있는 서버에 POST 배열을 보냈습니다. Rails 튜토리얼에서 변경된 후에 params [: post] - http://guides.rubyonrails.org/getting_started.html –
@HeliosdeGuerra를 사용하면 Forbidden Attributes 오류가 발생합니다. 나는이 코드를 추가하지만, 그것을 해결되지 않습니다 - '개인 \t 데프 \t params.require post_params (: alpha_user) .permit (: 이메일, 제조자) \t end'을 –