1
我有一個簡單的新形式是這樣的:Rails的行動接受JSON作爲輸入,轉換JSON到對象,然後保存
<h1> New </h1>
<%= form_for :user, url: 'create' do |f| %>
<p>
<%= f.label :firstName %>
<%= f.text_field :firstName %>
</p>
<p>
<%= f.label :lastName %>
<%= f.text_field :lastName %>
</p>
<p>
<%= f.label :userName %>
<%= f.text_field :userName %>
</p>
<p>
<%= f.label :password %>
<%= f.text_field :password %>
</p>
<p>
<%= f.label :email %>
<%= f.text_field :email %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
正如你可以看到它調用創建其定義如下動作:
def create
@user = User.new(params[:user])
@user.save
end
它給了我下面的錯誤:
ActiveModel::ForbiddenAttributesError
Extracted source (around line #8):
6
7
8
9
10
11
def create
@user = User.new(params[:user])
@user.save
end
所有我想要的是我的方法創建接受輸入的JS然後將這些參數轉換爲用戶對象,然後保存該對象。
UPDATE:
我有以下創建其定義爲POST方法:
def create
@user = User.new(user_params)
@user.save
end
我送以下JSON,但它永遠不會被保存:
{"firstName":"John", "lastName:"Doe", "userName":"johndoe", "password":"mypassword", "email":"[email protected]"}
更新:
通過以下JSON後:
{"user":{"firstName":"John", "lastName:"Doe", "userName":"johndoe", "password":"mypassword", "email":"[email protected]"}}
我碰到下面的錯誤在我的應用程序的HTTPClient:
<h2>795: unexpected token at '{"user":{"firstName":"John", "lastName:"Doe", "userName":"johndoe", "password":"mypassword", "email":"[email protected]"}}'</h2>
UPDATE:
現在我碰到下面的錯誤後,我得到了JSON正確的:
的ActionController :: InvalidAuthenticityToken UsersController中的 #create
感謝我得到它的工作!但是創建操作是否需要json參數。我想採用json參數,然後將其轉換爲用戶對象,然後保存用戶對象。 –
表單將使用'POST'請求發送參數,因此它不使用json參數,但它將用於創建新用戶。您顯示的表單是唯一希望從中獲得新用戶的地方,還是您需要使用應用程序製作API? – jvperrin
我需要使用我的應用程序創建一個API,然後將其與我的iOS應用程序一起使用!謝謝你的幫助。第一天使用Rails:( –