試圖讓我的all_users頁面呈現所有擁有帳戶的用戶列表 - 然後每個列表項目都會鏈接到該用戶的個人資料頁面。我有頁面正確地呈現用戶名,但他們沒有指向他們的用戶頁面。他們的用戶頁面應該是/ user/username,但鏈接指向/ username,顯然會出現錯誤。我真的非常感謝這個幫助。堆棧溢出確實令人難以置信。從All_Users鏈接到用戶配置文件,路由頁面
型號:
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :username
has_many :items
validates_presence_of :username
validates_uniqueness_of :username
def to_param
username
end
end
控制器:
class UsersController < ApplicationController
def show
@user = User.find_by_username(params[:id])
end
def index
@user = User.find(:all)
end
end
All_Users的觀點:
<div class="well">
<h1>All users</h1>
<% @user.each do |user| %>
<%= link_to user.username, public_profile_path(user.username) %><br/>
<% end %>
</div>
路線:
match'/ users /:username'=>'users#show',via::get,as :: public_profile 我做到了,是嗎? – momchenr 2013-02-24 23:47:08
不,你已經定義了兩次相同的助手,它們應該是不同的。試試:show_public_profile – RadBrad 2013-02-24 23:50:30