DMH*_*DMH 11 ruby-on-rails button form-for
我有一个有问题模型的应用程序,当我去创建一个记录时,提交按钮什么都不做.除非我刷新页面并尝试再次添加它,否则没有错误只是根本不执行.当我去更新记录时也会发生同样的情况.
这是我的控制器
class ProblemsController < ApplicationController
include Concerns::Votes
def index
@problems = Problem.all
end
def show
@problem = find_problem
end
def new
@problem = Problem.new
end
def edit
@problem = find_problem
end
def create
@problem = current_user.problems.new(problem_params)
@problem.save
redirect_to @problem
end
def update
@problem = find_problem
if @problem.update_attributes(problem_params)
redirect_to @problem
else
redirect_to @problem
end
end
private
def find_problem
@problem = Problem.find(params[:id])
end
def problem_params
params.require(:problem).permit(:name, :description, :url)
end
end
Run Code Online (Sandbox Code Playgroud)
这是我在new.html上渲染的_form.html.erb部分
<div class="row">
<div class="large-12 columns">
<%= form_for @problem do |f| %>
<label>Name</label>
<%= f.text_field :name, placeholder: "Name your problem!" %>
</div>
<div class="large-8 columns">
<%= f.text_field :url, placeholder: "Link to any supporting material" %>
</div>
<div class="large-12 columns">
<%= f.text_area :description %>
</div>
<div class="large-12 columns">
<%= f.submit "Create" %>
</div>
</div>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我有资源:我的路线有问题.
好的方法是我的show.html.erb.
<%= div_for @problem do %>
<%= link_to 'Edit', edit_problem_path(@problem) %>
<h2><%= @problem.name %> (<%= @problem.cached_votes_score %>)</h2>
<a =href"<%= @problem.url %>"><%= @problem.url %></a>
<p><%= @problem.description %><p>
By <%= @problem.user.name %></br>
<a class="button"<%= link_to 'Up', {:controller => 'problems', :action => 'up_vote'}, {:method => :post } %></a>
<a class="button"<%= link_to 'Down', {:controller => 'problems', :action => 'down_vote'}, {:method => :post } %></a>
<%= link_to 'Edit', edit_problem_path(@problem) %> |
<%= link_to 'Back', problem_path %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是我的index.html.erb
<div class="row">
<div class="large-12 columns">
<% @problems.each do |problem| %>
<h1><small><%= problem.cached_votes_score %></small> <%= link_to problem.name, problem %></h1>
<% end %>
</div>
<%= link_to 'New Problem', new_problem_path %>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我刷新页面,我真的不明白它为什么会起作用,否则它根本不起作用.
fiv*_*git 23
您的HTML无效,提交按钮实际上没有嵌套在表单标记下.尝试将您的视图代码更改为:
<div class="row">
<div class="large-12 columns">
<%= form_for @problem do |f| %>
<label>Name</label>
<%= f.text_field :name, placeholder: "Name your problem!" %>
<div class="large-8 columns">
<%= f.text_field :url, placeholder: "Link to any supporting material" %>
</div>
<div class="large-12 columns">
<%= f.text_area :description %>
</div>
<div class="large-12 columns">
<%= f.submit "Create" %>
</div>
<% end %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我有同样的问题
前
<%= simple_form_for(:schedule_list, url: schedulelists_create_with_block_path, :html => { novalidate: false}) do |f| %>
<div class="row">
<div class="col-md-12">
<%= f.button :submit, class: 'pull-right' %>
<%end%>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
后
<%= simple_form_for(:schedule_list, url: schedulelists_create_with_block_path, :html => { novalidate: false}) do |f| %>
<div class="row">
<div class="col-md-12">
<%= f.button :submit, class: 'pull-right' %>
</div>
</div>
<%end%>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6141 次 |
| 最近记录: |