Tôi đang cố gắng tạo trang Người dùng show
(sẽ hoạt động như một trang hồ sơ) nhưng tôi đang bối rối về cách thực hiện việc này bằng Devise. Nó không có vẻ như mặc dù Devise đi kèm với bất kỳ loại định nghĩa show
- là có cách nào tôi có thể truy cập các bộ điều khiển Devise đang thực hiện để làm cho một hoặc tôi phải ghi đè lên chúng?Tạo trang hiển thị `Người dùng` bằng Devise
Trả lời
Bạn nên tạo ra một users_controller
mà kế thừa từ application_controller
và xác định có phương pháp tùy chỉnh show
của bạn. Đừng quên tạo chế độ xem và lộ trình cho nó. Ex:
#users_controller.rb
def show
@user = User.find(params[:id])
end
#in your view
<%= @user.name %>
#routes.rb
match 'users/:id' => 'users#show', via: :get
# or
get 'users/:id' => 'users#show'
# or
resources :users, only: [:show]
bạn có thể tạo các chế độ xem được sử dụng bằng cách đưa ra, do đó bạn có thể thay đổi chế độ xem theo ý muốn.
rails g devise:views
nhưng vẫn không có trang hiển thị cho người dùng. chỉ các trang mới và chỉnh sửa. –
câu trả lời xấu, đọc câu hỏi đầu tiên, có vẻ như oyu đã không làm việc với phát minh trước khi – SsouLlesS
'rails g devise: views' tạo ra các khung nhìn cho mới và chỉnh sửa. Không có trang hiển thị. Hãy thử mã và xem các tuyến đường của bạn, không có chương trình nào. –
Đừng quên rằng người dùng của bạn đường nên được dưới các tuyến đường người dùng devise_for, như thế này:
#routes.rb
devise_for :users
resources :users, :only => [:show]
Ngoài ra, nếu bạn đang sử dụng một tên người dùng hoặc email như là tiểu học chìa khóa thay vì id thông thường, bạn nên tránh những xung đột định tuyến bằng cách tuyên bố tuyến đường của bạn như sau:
#routes.rb
devise_for :users, :path_prefix => 'd'
resources :users, :only => [:show]
thấy CURRENT_USER/other_user hồ sơ với devise:
After installing devise
Tạo một người dùng điều khiển:
rails generate controller Users
Sau đó tạo một action show và tìm người dùng với id params:
def show
@user = User.find(params[:id])
end
Tạo một file show.html.erb trong Bảng điều khiển xem thư mục:
<%= @user.email %>
Liên kết tới người dùng chương page:
<%= link_to "current_user_show", current_user %>
Bây giờ nếu bạn muốn xem các cấu hình khác tạo ra một hành động chỉ số trong bộ điều khiển người dùng:
def index @users = User.all end
Tạo một index.html.erb trong giao diện thư mục User thì:
<% @users.each do |user| %>
<%= link_to user.username, user %>
<%= user.email %>
<% end %>
Các liên kết này sẽ là:
<%= link_to "show_index_of_users", users_path %>
này sẽ liên kết bạn đến index.html.erb người dùng tập tin đó, bạn sẽ tạo ra một vòng lặp và liên kết đến hồ sơ người dùng:
<% @users.each do |user| %>
<%= link_to user.username, user %>
<%= user.email %>
<% end %>
này nên làm việc!
Không cần phải cấu hình/tuyến đường? –
- 1. Tạo người dùng trong Devise từ JSON
- 2. Ngày và giờ hiển thị bằng ngôn ngữ người dùng
- 3. Cách tạo người dùng theo cách thủ công với Devise
- 4. Đăng xuất tất cả người dùng bằng Devise
- 5. Lọc người dùng có thể đăng nhập bằng Devise
- 6. Cách tạo thủ công phiên người dùng và người dùng mới trong Devise?
- 7. Đăng xuất Người dùng bằng Devise đang đăng xuất Người dùng quản trị cũng như
- 8. Cách tạo iframe bằng jQuery và hiển thị trên trang?
- 9. Thêm trường vào Mô hình người dùng trong Devise
- 10. Hiển thị cùng một trang khác nhau cho người dùng có vai trò khác nhau
- 11. before_action trong lỗi kết xuất bộ điều khiển người dùng: NoMethodError trong Người dùng # hiển thị
- 12. Devise, cho phép người dùng thay đổi mật khẩu
- 13. Đăng nhập vào tài khoản của người dùng khác bằng Devise + Active Admin + Người dùng chuyển đổi
- 14. Ngày hiển thị trên iPhone bằng ngôn ngữ người dùng nhưng bằng ngôn ngữ khác
- 15. truy vấn postgresql để hiển thị các nhóm người dùng
- 16. Nhận tên hiển thị của người dùng từ WindowsIdentity
- 17. Rails - Làm thế nào để tiêu diệt người dùng tạo theo Devise?
- 18. Android: Cách tạo các tab giống như các tab hiển thị trên Trang giao diện người dùng Android
- 19. Hiển thị các mục trên trang tổng quan theo vai trò người dùng
- 20. Làm cách nào để hiển thị div khi người dùng đến cuối trang?
- 21. Hiển thị điều khiển người dùng trong DatagridViewCell
- 22. Hiển thị vị trí người dùng hiện tại với MKMapView?
- 23. Rails 4 & Devise - Tên người dùng không được thêm vào cơ sở dữ liệu khi người dùng mới tạo
- 24. Tìm UserID của người dùng Stack Overflow bằng Tên hiển thị của họ trong C#?
- 25. Cho phép quản trị viên thêm người dùng với Devise
- 26. Nodejs Tên người dùng hiển thị hộ chiếu
- 27. Rails & Devise: Làm cách nào để hiển thị trang đăng nhập mà không có bố cục?
- 28. Cách đăng nhập người dùng bằng Devise từ bảng điều khiển Rails?
- 29. Cách điền một số người dùng mặc định trong Devise?
- 30. Devise Logging Người dùng yêu cầu AJAX. Rails 3.1
Vì vậy, tôi đã làm tất cả những điều đó, tôi chỉ thay đổi 'show' thành' index' mà làm cho nó '@users = Users.all' nhưng tôi nhận được lỗi này: uninitialized constant UsersController :: Users. Tìm thấy lỗi của tôi, phải là '@users = @ User.all' – tcatchy
Khi tôi làm điều này, làm cách nào tôi có thể liên kết đến hồ sơ người dùng cụ thể và mở/truy cập mà không cần đăng nhập? Cảm ơn! – westman2222
Mã trên sẽ làm cho người dùng có thể truy cập trang (hồ sơ) mà không cần đăng nhập –