Я честно даже не знаю, с чего начать эту проблему, но я реализовал функцию «как» на своем сайте и когда я смотрю на console Я вижу ДЕЙСТВИТЕЛЬНО ДЕЙСТВИТЕЛЬНО длинную инструкцию SQL.Rails - реализация «подобной» функции и бесконечный цикл
Я не буду размещать все мои dev.log, потому что это просто НЕВЕРОЯТНО долго, но вот отрывок из некоторых ошибок ..
Started POST "/recipes/1/like?like=true" for 127.0.0.1 at 2015-11-20 22:46:45 -0500
Processing by RecipesController#like as HTML
Parameters: {"authenticity_token"=>"b64tIveTCtassgzKoJ/d65c72b3DfLmkC1ddQrCRBsbxnAuKMYpnz8L/+m5SsJ8to57v4sFXSkLIZB9QdFXdTQ==", "like"=>"true", "id"=>"1"}
^[[1m^[[35mRecipe Load (0.1ms)^[[0m SELECT "recipes".* FROM "recipes" WHERE "recipes"."id" = ? LIMIT 1 [["id", 1]]
^[[1m^[[36mCACHE (0.0ms)^[[0m ^[[1mSELECT "recipes".* FROM "recipes" WHERE "recipes"."id" = ? LIMIT 1^[[0m [["id", "1"]]
^[[1m^[[35mCACHE (0.0ms)^[[0m SELECT "recipes".* FROM "recipes" WHERE "recipes"."id" = ? LIMIT 1 [["id", "1"]]
А потом он просто повторяет, что SQL заявление через ~ 10000 строк, а затем переключается на эту ошибку
15008 app/controllers/recipes_controller.rb:46:in `like'
15009 app/controllers/recipes_controller.rb:46:in `like'
15010 app/controllers/recipes_controller.rb:46:in `like'
15011 app/controllers/recipes_controller.rb:46:in `like'
15012 app/controllers/recipes_controller.rb:46:in `like'
15013 app/controllers/recipes_controller.rb:46:in `like'
15014 app/controllers/recipes_controller.rb:46:in `like'
15015 app/controllers/recipes_controller.rb:46:in `like'
15016 app/controllers/recipes_controller.rb:46:in `like'
15017 app/controllers/recipes_controller.rb:46:in `like'
Я вроде застрял, и я надеялся, что кто-то мог бы указать в в правильном направлении.
Вот мой код:
Контроллер
def like
@recipe = Recipe.find(params[:id])
Like.create(like: params[:like], chef: Chef.first, recipe: @recipe)
flash[:success] = "Your selection was successful"
redirect_to :back
end
Модель:
class Like < ActiveRecord::Base
belongs_to :chef
belongs_to :recipe
end
Я соответствующий "has_many" в моих других контроллеров»
миграции:
class CreateLikes < ActiveRecord::Migration
def change
create_table :likes do |t|
t.boolean :like
t.integer :chef_id, :recipe_id
t.timestamps
end
end
end
Вид:
<%= link_to like_recipe_path(@recipe, like: true), method: :post do %>
<i class="glyphicon glyphicon-thumbs-up"></i>
<% end %>
Это не похоже на достаточное количество данных – ImranNaqvi
'like.create (like: params [: like], chef: Chef.first, recipe: @recipe)' Откуда это «как» переменная/метод? Кажется, это ваша модель Like, но вы ее не настраиваете. Разве вы не опубликовали весь фрагмент кода? Это может быть полезно для нас, если вы можете разместить дополнительную информацию. Не могли бы вы сделать это? –
@BryanOemar HA! Хороший улов. Вы абсолютно правы ... «like» не существует, и вместо этого он должен быть «Like.create». –