0
新しいユーザーを作成するには検索ビューを使用してユーザー情報を検索し、新しいユーザー作成フォームにデータを入力します。そのフォームを送信すると、mysqlに新しいユーザがローカルに作成されます。したがって、新しいユーザー作成フォームにはすでに値が設定されており、値を入力できます。しかし、そのフォームを送信した後、フィールドは空白であるというメッセージとともにページが戻ってきます。理由は分かりません。Rubyのレール - フォームが無効です
class UsersController < ApplicationController
def new
@user = User.new
@result = User.FindActiveDirectory(params[:user_id])
if @result.empty?
render action: 'find', message: "Could not find a user with the id #{params[:user_id]}"
else
return @result
end
end
def find
end
def display_result
@result = User.FindActiveDirectory(params[:user_id])
if @result.empty?
render action: 'find', message: "Could not find a user with the id #{params[:user_id]}"
end
return @result
end
def create
@user = User.new(params[:user_id])
if @user.save
redirect_to users_added_url, :notice => "Signed up!"
else
render "new"
end
end
end
ユーザービューのfind(find.html.erb) - - HTTPのデバッグでは、私は、これらの値は、ユーザー/新
Form is invalid
User can't be blank
Firstname can't be blank
Lastname can't be blank
Email can't be blank
Role can't be blank
コントローラ/に掲載された参照
<h1>find User </h1>
<p><%= notice %></p>
<%= form_tag users_new_path do %>
<p>
<%= label_tag :Username %><br />
<%= text_field_tag :user_id %>
</p>
<p class="button"><%= submit_tag " Search " %></p>
<% end %>
ユーザーが閲覧します新規作成(new.html.erb) -
<h1>Add user to access this system</h1>
<% if @result %>
<% @result.each do |key, values| %>
<% if "#{key}" == "samaccountname" %>
<% $username = values.to_s %>
<% end %>
<% if "#{key}" == "sn" %>
<% $lastname = values.to_s %>
<% end %>
<% if "#{key}" == "givenname" %>
<% $firstname = values.to_s %>
<% end %>
<% if "#{key}" == "mail" %>
<% $email = values.to_s %>
<% end %>
<% end %>
<% end %>
<%= form_for @user do |f| %>
<% if @user.errors.any? %>
<div class="error_messages">
<h2>Form is invalid</h2>
<ul>
<% for message in @user.errors.full_messages %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :NT_Username %><br />
<%= f.text_field :user_id, :value => $username %>
</p>
<p>
<%= f.label :Firstname %><br />
<%= f.text_field :firstname, :value => $firstname %>
</p>
<p>
<%= f.label :Lastname %><br />
<%= f.text_field :lastname, :value => $lastname %>
</p>
<p>
<%= f.label :Email %><br />
<%= f.text_field :email, :value => $email %>
</p>
<p>
<%= f.label :Role %><br />
<%= f.collection_select :role, User::ROLES, :to_s, :to_s, :include_blank => false %>
</p>
<p class="button"><%= f.submit %></p>
<% end %>
要求 - あなたのcreate
あなたが行うには
Started POST "/users" for 10.15.21.28 at 2012-04-07 00:00:17 -0400
Processing by UsersController#create as HTML
Parameters: {"utf8"=>"â", "authenticity_token"=>"RDxvWXxVwoJArNN1s4Q8M8cDr5rzjP4wNF4gOnteGGY=", "user"=>{"user_id"=>"jkills000", "firstname"=>"James", "lastname"=>"Kills", "email"=>"[email protected]", "role"=>"User"}, "commit"=>"Create User"}
偉大な..超高速のお返事ありがとう!何とか私はそれをuser_idに変更しました。出来た。 –