0
私は答えを探しましたが、同じ問題は見つかりませんでした。 基本的には、シンプルなCMSを構築していますが、ビュー付きのコントローラを構築していますが、機能していません。私は送信ボタンを押すことができますが、フォームは応答を与えません。エラーを出力しません。Railsの送信ボタンが応答しない
URLが/ pages/new// pagesに変更されていることに気付きましたが、フォーム上にとどまります。
ページコントローラ:
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>
EDIT:
が<%= form_for(@page) do |f| %>
にフォームのコードを変更しようとしたが、私はまだ同じ問題を抱えている
コードの一部を@page.save!
に追加しました私のコードでは深刻なエラーが表示されています。少なくとも私はこの問題を解決しました。どうもありがとうございました。
このような状況では(ボタンは何もしません)、レールのコンソール出力(端末で生成されるテキスト)にエラーがないかどうかを確認してください。 =) – HashRocketSyntax