不能';我找不到有';id'=索引railsajaxjquery
我目前正在尝试使用ajax,我发现这是我遇到的错误 ActiveRecord::RecordNotFound位于/books/index。找不到“id”=索引的书籍 我的意图是,当我点击Select并更改值而不重新加载时,我希望图书的卡片能够自行排序。因此,我使用js和ajax,但目前我仍在这个过程中 Book Index.html.erb不能';我找不到有';id'=索引railsajaxjquery,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我目前正在尝试使用ajax,我发现这是我遇到的错误 ActiveRecord::RecordNotFound位于/books/index。找不到“id”=索引的书籍 我的意图是,当我点击Select并更改值而不重新加载时,我希望图书的卡片能够自行排序。因此,我使用js和ajax,但目前我仍在这个过程中 Book Index.html.erb <select id="priceSelect"> <option value="Best Results" selected="se
<select id="priceSelect">
<option value="Best Results" selected="selected">Best Results</option>
<option value="Price Descending">Price Descending</option>
<option value="Price Ascending">Price Ascending</option>
</select>
.
.
.
<% @books.each do |book| %>
<div class="col-xs-12 selectable-card">
<%= link_to book_path(book.id) do %>
...
<% end %>
</div>
<% end %>
<script>
$('#priceSelect').change(function(){
$.ajax({
url: "books/index",
type: "GET",
data: {sort: $('#priceSelect :selected').val()},
success:function(result){
console.log(result);
},
})
});
</script>
我真的不明白为什么会出现这个错误,因为我声明这个方法应该只在[:show]上工作,等等。。。而不是在[:索引]上。错误表明这是因为我的BooksController中的那条线
private
def set_book
@book = Book.find(params[:id])
end
最后是我的路线.rb
resources :books do
resources :users
end
替换
书籍/索引
仅仅
/书
因为默认情况下,/books
只会点击索引
操作。如果您在“代码> /书籍< /代码>之后通过任何东西,它将被认为是URL中的ID。
<script>
$('#priceSelect').change(function(){
$.ajax({
url: "/books",
type: "GET",
data: {sort: $('#priceSelect :selected').val()},
success:function(result){
console.log(result);
},
})
});
</script>
$('#priceSelect')。更改(函数(){
$.ajax({
网址:“/books”,
键入:“获取”,
数据:{sort:$('#priceSelect:selected').val(),
成功:功能(结果){
控制台日志(结果);
},
})
});
更换
书籍/索引
仅仅
/书
因为默认情况下,/books
只会点击索引
操作。如果您在“代码> /书籍< /代码>之后通过任何东西,它将被认为是URL中的ID。
<script>
$('#priceSelect').change(function(){
$.ajax({
url: "/books",
type: "GET",
data: {sort: $('#priceSelect :selected').val()},
success:function(result){
console.log(result);
},
})
});
</script>
$('#priceSelect')。更改(函数(){
$.ajax({
网址:“/books”,
键入:“获取”,
数据:{sort:$('#priceSelect:selected').val(),
成功:功能(结果){
控制台日志(结果);
},
})
});
您正在URL中向其传递一个“索引”ID。不要,没必要。对根图书路由的GET请求是您想要的。您想在ajax中点击图书索引操作吗?您正在URL中向其传递一个“index”的ID。不要,没必要。对根图书路由的GET请求是您想要的。您想在ajax中点击图书索引操作吗?