Ruby on rails 找不到没有ID的控制器
我正试图通过Schneems在Rails上构建Reddit。我在提交一份新的文件时不断地遇到这个错误 ruby 1.9.3 Rails 4.2.0 我的链接控制器怎么了Ruby on rails 找不到没有ID的控制器,ruby-on-rails,ruby,controller,reddit,Ruby On Rails,Ruby,Controller,Reddit,我正试图通过Schneems在Rails上构建Reddit。我在提交一份新的文件时不断地遇到这个错误 ruby 1.9.3 Rails 4.2.0 我的链接控制器怎么了 class LinksController < ApplicationController def show @link = Link.find(params[:id]) end def new @link = Link.new end def create @link = Link.new(links_p
class LinksController < ApplicationController
def show
@link = Link.find(params[:id])
end
def new
@link = Link.new
end
def create
@link = Link.new(links_params)
if @link.save
redirect_to(:action => 'show')
else
render('new')
end
end
private
def links_params
params.require(:link).permit(:title, :url)
end
end
新的观点是:
<h1>New link</h1>
<%= form_for @link do |f| %>
<% if @link.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@link.errors.count, "error") %> prohibited this link from being saved:</h2>
<ul>
<% @link.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :url %><br />
<%= f.text_field :url %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我已经在bundler中添加了强参数,但没有任何效果。我在四天后终于修复了它!。 因此,链接控制器应如下所示:
def create
@link = Link.new(links_params)
if @link.save
render('show')
else
render('new')
end
因为在我转到localhost:3000/links/show页面之前,我需要localhost:3000/links/id您应该使用:id param而不是:link param来查找您的记录,因为:link param不存在。这也不会改变任何内容@Аааааа安德鲁,您的数据库中有链接吗?你确定你的链接id是从表单中正确传入的吗?链接参数是否已填充?链接可以从rails控制台提交:$Link.create:url=>,:title=>stack。然后可以在控制台$Link.last.url=>$Link.last.title=>stack中访问。我不知道如何检查正确的身份证通过。。
def create
@link = Link.new(links_params)
if @link.save
render('show')
else
render('new')
end