我一直試圖讓這個權利,並在幾小時後,我終於失去了。我正在嘗試爲用戶創建配置文件。由於我擁有的用戶屬性和類型,我分開了配置文件模型和用戶模型。用戶與該配置文件具有has_one關係。我的問題似乎是我不僅與路線有關,而且還與配置文件的控制器相混淆。我只是想能夠有一個link_to來顯示用戶的個人資料。但到代碼顯示用戶配置文件
user.rb
has_one :profile
after_create :create_profile
def create_profile
self.profile.create(:name => self.user_name)
end
剖面模型
profile.rb
belongs_to :user, required: true, autosave: true
路線輪廓
resources :profile
簡檔控制器
class ProfilesController < ApplicationController
before_action :owned_profile, only: [:edit]
before_action :get_profile
layout "profile"
respond_to :html, :js
def show
@activities = PublicActivity::Activity.where(owner:@user).order(created_at: :desc).paginate(page: params[:page], per_page: 10)
end
def followers
@followers = @user.user_followers.paginate(page: params[:page])
end
def edit
end
def update
if @profile.update(profile_params)
flash[:notices] = ["Your profile was successfully updated"]
render 'show'
else
flash[:notices] = ["Your profile could not be updated"]
render 'edit'
end
end
private
def profile_params
params.require(:profile).permit(:name, :cover)
end
def owned_profile
unless current_user == @user
flash[:alert] = "That profile doesn't belong to you!"
redirect_to root_path
end
end
def get_profile
@profile = Profile.find(params[:id])
end
end
我完全什麼我需要失去了做,我應該添加什麼東西e用戶的控制器,因爲after_create方法?應該我的資源:配置文件在資源下:用戶?
我得到的,當我嘗試查看用戶配置文件中的錯誤是 Couldn't find Profile with 'id'=
我使用的link_to方法是<%= link_to "View Profile", profiles_show_path(@user) %>
請讓我知道任何可能的幫助,感謝您的時間和幫助。再次我不想只顯示用戶的「演出」作爲個人資料,因爲用戶的類型不同以及我計劃對個人資料建模的方式。
我的問題仍然是基於你的路由一個nuub – leafshinobi25
中的代碼質量道歉(假設它實際上是'資源:profiles')你應該有'的link_to「查看資料「,profile_path(@ user.profile)' –
<%= link_to」查看個人資料「,@ user.profile%> –