我在我的rails应用程序上使用Kaminari Gem。
我的当前索引页面包含正确的导航菜单。
def index
@dogs = Dog.all.page(params[:page]).per(20)
end
def destroy
if @dog.destroy
# use this so that if the page got other records, the user got to stay at that navigated page.
redirect_back fallback_location: dogs_path, flash: { success: 'deleted dog from list' }
else
# show some errors
end
end
当用户在第2页并删除第21条狗记录时,记录被删除,浏览器显示空白页面,没有记录,因为网址指定/dogs?page=2
。
这是默认行为还是Kaminari或我的方法有问题?我期待Kaminari将用户重定向到1页,因为当前页面不包含任何记录。
感谢。
答案 0 :(得分:1)
考虑您将狗的索引页面路径设为dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
}
dogs_path
答案 1 :(得分:0)
您需要在完成删除操作后定义索引URL。我相信你已经完成了以下工作。
redirect_to :back
它仍在同一页面上。
您应该使用索引页面网址,而不是返回。
答案 2 :(得分:0)
通常,在Rails 5中,您现在可以使用T
我想这样做,但在空的时候仍然会重定向到同一页面。嗯..
Set<T>()
答案 3 :(得分:0)
你可以使用下面的request.referer作为destroy的示例,首先用session [:return_to] = request.referrer保存referer,然后在destroy之后用redirect_to session.delete(:return_to)返回上一页< / p>
<connectionStrings>
<add name="MyDB"
connectionString="Server=tcp:trackingappserver.database.windows.net,1433;Initial Catalog=trackingappdb;Persist Security Info=False;User ID=id;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>