0
CMS를 작성 중이고 사용자를위한 역할 관리를 수행하는 동안 문제가 발생했습니다. 나는 내 User
모델에 부울 필드 :admin
을 가지고 있으며 양식으로 작성한 사용자를 관리자로 설정하는 확인란을 만들었습니다.난간의 "NoMethodError"체크 박스
def create
@user = User.create(user_params)
respond_to do |format|
if @user.save
format.html { redirect_to users_path }
format.json { head :no_content }
else
format.html { render :new }
format.json { render @user.errors, status: :unprocessable_entity }
end
end
end
def edit
end
def update
respond_to do |format|
if @user.update(user_params)
format.html { redirect_to users_path }
format.json { head :no_content }
else
format.html { render :edit }
format.json { render @user.errors, status: :unprocessable_entity }
end
end
end
이 내 형태 : 여기에 users_controller
입니다
<%= form_for @user do |f| %>
# Here go fields for username, email and password
<p>
<%= f.label "Set as administrator" %> <br />
<%= f.hidden_field :admin, '' %>
# I also tried with <%= f.hidden_field :admin, false %>
<%= f.check_box :admin, checked = true %>
# Or <%= f.check_box :admin, data: { switch: true } %>
</p>
<% end %>
그러나 이러한 옵션은 다음 날 반환
NoMethodError in Multiflora::Users#edit
undefined method `merge' for "":String
내가 잘못했을 무엇
?
로
및 체크 박스를 간단하게
<%= f.hidden_field :admin %>
,<%= f.hidden_field :admin, value: '' %>
으로 숨겨진 필드를 타고'열거 'form role – uzaif숨겨진 필드 가져 오기 <% = f.hidden_field : admin, value : ''%>'또는 단순히 <% = f.hidden_field : admin %>' – Sravan