2014-09-27 80 views

回答

5

首先設置形式和往常一樣:

<%= form_for @user do |f| %> 
<ol> 
    <li> 
    <%= f.label :first_name, 'First Name' %> 
    <%= f.text_field :first_name %> 
    </li> 
    <li> 
    <%= f.label :last_name, 'Last Name' %> 
    <%= f.text_field :last_name %> 
    </li> 
    <%= f.submit %> 
</ol> 
<% end %> 

在這個例子中,我們添加一個虛擬屬性爲first_namelast_name

user.rb

class User < ActiveRecord::Base 
    attr_accessor :first_name 
    attr_accessor :last_name 
end 

新虛擬屬性添加attr_accessor

users_controller.rb

def create 
    @user = User.new(:full_name => {'firstname' => user_params[:first_name], 'lastname' => user_params[:last_name]}) 
    ... 
end 

private 

def user_params 
    params.require(:user).permit(:first_name, :last_name) 
end 

最後,添加的方法,以允許虛擬屬性PARAMS(假設導軌4)。

要保存多個輸入並將它們保存到數據庫中的單個字段中,您可以將控制器中的虛擬字段組合起來,然後將它們保存到數據庫中,如上面的create方法所示。

+1

好的,非常感謝湯姆。謝謝! – 2014-09-27 18:39:29

+1

沒問題,請upvote如果這有助於:) – 2014-09-27 18:46:27

+1

當然,湯姆。 – 2014-09-27 19:05:40

相關問題