【发布时间】:2021-07-19 17:31:53
【问题描述】:
我在 blogs_controller 中的帖子可以通过天赋来选择。天赋可以通过下拉选择。当我选择任何其他选项时,页面正在使用 ajax 重新加载并且一切正常,但是如果我按下提交按钮,它应该发送空的 :flair 值并再次渲染页面和表格,但它会发送,我看看如何所有帖子都被选中,但没有任何变化,为什么?
这个我真的看不懂。
#blog_controller.rb
def index
@blogs = Blog.order("created_at desc")
if !(params[:flair].blank?)
@blogs = @blogs.where(:flair => params[:flair])
end
respond_to do |format|
format.html
format.json
end
end
def blog_params
params.require(:blog).permit(:name, :title, :content, :flair)
end
#index.html.haml
%h1 Listing blogs
= form_with method: :get do |f|
= f.select :flair, @flairs, {},{onchange: "this.form.submit()"}
= f.submit 'Clear', params: {flair: ""}
= render 'table'
%br
#_table.html.haml
%table#table
%thead
%tr
%th Name
%th Title
%th Content
%th Flair
%tbody
- @blogs.each do |blog|
%tr
%td= blog.name
%td= blog.title
%td= blog.content
%td= blog.flair
%td= link_to 'Show', blog
%td= link_to 'Edit', edit_blog_path(blog)
%td= link_to 'Destroy', blog, method: :delete, data: { confirm: 'Are you sure?' }
【问题讨论】:
标签: ruby-on-rails ruby ajax