Ruby on rails Rails提交按钮没有响应
我寻找答案,但找不到同样的问题。 基本上-我正在构建一个简单的CMS,我正在构建一个带有视图的控制器,但它不起作用。我可以按submit按钮,但是表单没有响应,它甚至没有输出任何错误 我还注意到它将url从/pages/new更改为/pages,但它保留在表单上 页面控制器:Ruby on rails Rails提交按钮没有响应,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,我寻找答案,但找不到同样的问题。 基本上-我正在构建一个简单的CMS,我正在构建一个带有视图的控制器,但它不起作用。我可以按submit按钮,但是表单没有响应,它甚至没有输出任何错误 我还注意到它将url从/pages/new更改为/pages,但它保留在表单上 页面控制器: def index @pages = Page.sorted end def show @page = Page.find(params[:id]) end def new @page = Page.new
def index
@pages = Page.sorted
end
def show
@page = Page.find(params[:id])
end
def new
@page = Page.new
end
def create
@page = Page.new(page_params)
if @page.save
flash[:notice] = "Page created succesfully."
redirect_to pages_path
else
render('new')
end
end
def edit
@page = Page.find(params[:id])
end
def update
@page = Page.find(params[:id])
if @page.update_attributes(page_params)
flash[:notice] = "Subject updated succesfully."
redirect_to page_path(@page)
render('edit')
end
end
def delete
@page = Page.find(params[:id])
end
def destroy
@page = Page.find(params[:id])
@page.destroy
flash[:notice] = "Page '#{@page.name}' destoyed succesfully."
redirect_to(pages_path)
end
private
def page_params
params.require(:page).permit(:subject_id, :name, :position, :visible, :permalink)
end
new.html.erb:
<%= link_to("<< Back To List", pages_path, :class => 'back-link') %>
<div class = "pages new">
<h2>Create Page</h2>
<%= form_for(@page, :url => pages_path, :method => 'post') do |f| %>
<table summary = "Page form fields">
<tr>
<th> Name: </th>
<td><%= f.text_field(:name) %></td>
</tr>
<tr>
<th> Subject ID: </th>
<td><%= f.text_field(:subject_id) %></td>
</tr>
<tr>
<th> Permalink: </th>
<td><%= f.text_field(:permalink) %></td>
</tr>
<tr>
<th>Position: </th>
<td><%= f.text_field(:position) %></td>
</tr>
<tr>
<th>Visible: </th>
<td><%= f.text_field(:visible) %></td>
</tr>
</table>
<div class="form-buttons">
<%= f.submit("Create Page") %>
</div>
<% end %>
</div>
编辑:
尝试将表单代码更改为,但我仍然有相同的问题
我添加了@page.save!代码的一部分,它给了我一个错误,它向我展示了代码中更深层次的错误!至少我解决了这个问题。多谢各位 您表单中的信息似乎无效,请尝试使用“保存”!而不是在创建操作中保存:
这将在您的日志上显示错误。在类似此按钮的情况下,不会查看在终端中生成的rails控制台输出文本以查找错误=
def create
@page = Page.new(page_params)
if @page.save!
flash[:notice] = "Page created succesfully."
redirect_to pages_path
else
render('new')
end
end