Nếu tôi gửi biểu mẫu người dùng mới có lỗi, nó sẽ chuyển hướng đến trang chỉ mục và sau đó hiển thị trang mới trên đầu trang. Trong bộ điều khiển tôi chỉ định rằng nó sẽ chỉ hiển thị hành động mới để người dùng có thể xem/sửa lỗi của họ và gửi lại. Có điều gì rõ ràng mà tôi đang bỏ lỡ không?Rails tạo hành động đang chuyển hướng đến chỉ mục khi nó sẽ hiển thị hành động mới
Đây là tạo hành động trong mã điều khiển của tôi:
def create
@user = User.new(params[:user])
@user.role = "owner"
if @user.save
flash[:notice] = "Registration successful!"
else
flash.now[:notice] = "You have errors!"
render :new
end
end
Không chắc chắn những gì bạn có ý nghĩa bởi 'chuyển hướng đến trang index sau đó ám chỉ rằng trang mới về trên đỉnh của nó.' Đó là không thể. Nó được hiển thị hoặc chuyển hướng đến chỉ mục. Có bộ lọc nào trên bộ điều khiển của bạn có thể gây nhiễu không? Ngoài ra, có thể bạn sẽ muốn chuyển hướng đến: hiển thị cho người dùng mới từ bên trong nếu @ user.save. Nếu không, Rails sẽ cố gắng hiển thị chế độ xem 'tạo' mà bạn có thể không có. –
địa chỉ đi từ http: // localhost: 3000/người dùng/mới đến http: // localhost: 3000/người dùng, nhưng thực sự hiển thị trang người dùng mới. Và ngay cả khi tôi xem nguồn trang, nó cho thấy nguồn chỉ mục ... Nó thực sự kỳ lạ. Tôi có nó chuyển hướng để hiển thị ngay bây giờ, cảm ơn. – Matt
Tôi có cùng một vấn đề. Bạn đã tìm ra nó chưa? Trong trường hợp của tôi, chuyển hướng i một cách sai, bởi vì tôi cần phải bảo toàn dữ liệu, được nhập bởi người dùng và hiển thị lỗi, rằng ông có thể sửa chữa – AntonAL