我想在我的数据库中找到一个对象的id。在我的控制器中,我使用
Tag.find_by_name(params[:my_tag])
并且它没有返回任何内容,所以我尝试Tag.where(name: params[:mytag]).pluck(:id)
但仍然没有任何内容,但是当我尝试时,Tag.where(name: "Football").pluck(:id)
我有一个结果,所以我不明白。我也尝试使用像这样的SQL查询:Tag.find_by_sql("Select id from tags where name like ?","%#{params[:my-tag]}%")
我得到一个错误"字符串"的未定义的方法映射。
在前端,我有一个AJAX请求来处理我的选择并将其发送到控制器:
** $(function(){
$(".selectable").selectable({
selected: function(event, ui){
var selected=$("li[class$='ui-selected']").text();
$('.bouton7').click(function(){
$.ajax({
type:'Post',
url:'../postite',
dataType:'script',
data:{my_tag:selected}})})}});});
在我的控制器中我有这个:
def sous_cat
puts "#{params[:my_tag]}"
@my_result = Tag.where(name: params[:my_tag]).pluck(:id)
puts " My result #{@my_result} "`
结果如下:
Football
(0.0ms) SELECT "tags"."id" FROM "tags" WHERE "tags"."name" = ? [["name", " Football "]]
My result []