У меня есть модель, в которой у меня есть логический атрибут, published
. В моем контроллере Post
я добавил его к моим разрешенным атрибутам. Как это:Rails 4 boolean checkbox not working
params.require(:post).permit([...], :published)
Мой индекс действия, которые должны быть перечислены все опубликованные сообщения выглядит следующим образом:
def index
if session[:user_id]
@posts = Post.paginate(:page => params[:page])
else
@posts = Post.where("published = 1").paginate(:page => params[:page])
end
end
И, наконец, моя форма выглядит следующим образом:
= form_for @post, :html => { :multipart => true } do |f|
[...]
.field
= f.label :published, "Publicera:"
= f.check_box :published
.actions
= f.submit
В настоящее время нет сообщений не слушать на моей индексной странице, даже если я либо новое, либо обновленное представление проверяет флажок. И я не уверен, как это исправить, любые идеи?
Вы проверили, что запрос сгенерирован правильно? 'log/development.log' покажет вам SQL, который был выполнен, и вы всегда можете проверить это независимо от своей базы данных, чтобы убедиться, что она работает правильно. – tadman
@tadman Мой журнал для моего действия по обновлению показывает это: 'Обработка по PostsController # update как HTML Параметры: {[...]," published "=>" 1 "}," commit "=>" Uppdatera inlägg ", "id" => "3"} Перенаправлено на http: // localhost: 3000/posts/3 Завершено 302 Найдено в 13ms (ActiveRecord: 1.9ms) '. 303, это проблема, не так ли? Здесь не так много подсказок ... – Anders
У вас также должен быть какой-то запрос, а не только параметры. – tadman