我正在使用設計,併爲用戶信息(用戶名,名字,姓氏,地址等)構建了另一個表。我想要做的是當用戶點擊他的配置文件設置(用戶模型 - > edit.html.erb視圖)以顯示user_info表中屬性的輸入字段。如何在rails 4.2上顯示嵌入的表單屬性?
class User < ActiveRecord::Base
has_one :user_info
和
class UserInfo < ActiveRecord::Base
belongs_to :user
我的形式看起來像:
<%= form_for(@user) do |f| %>
<%= f.label :username %>
<%= f.text_field :username, :placeholder => "Enter username",
<%= f.label :email %>
<%= f.text_field :email, :placeholder => "Enter email" %>
,當然,這並不工作控制器
def edit
@user = User.find(params[:id])
@user_info = current_user.user_info
end
,因爲用戶名是不是用戶的屬性,但user_info表。如果我決定打印它,@ user.user_info.username的作品,但如果我想顯示和保存特定的嵌套窗體的字段?大多數SO回覆提到如何使用嵌套表單的屬性來呈現部分內容,但是我希望能夠根據需要在需要的位置打印其中的一個或兩個。
這是第一選擇,但我決定不碰裝置和後創建一個單獨的表,我可以做我想做的事情。最後,我想顯示user.user_info.username並將其保存爲嵌套模型屬性。 – Radolino 2015-02-06 21:38:02