Ruby on rails 在Hartl'中使用partials;s Rails教程,未定义变量方法';对象';
我正在阅读Hartl的Rails教程,在第10章中遇到了一个相当令人沮丧的问题Ruby on rails 在Hartl'中使用partials;s Rails教程,未定义变量方法';对象';,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在阅读Hartl的Rails教程,在第10章中遇到了一个相当令人沮丧的问题 <%= form_for(@micropost) do |f| %> <%= render 'shared/error_messages', object: f.object %> <div class="field"> <%= f.text_area :content, placeholder: "Compose new micropost..." %>
<%= form_for(@micropost) do |f| %>
<%= render 'shared/error_messages', object: f.object %>
<div class="field">
<%= f.text_area :content, placeholder: "Compose new micropost..." %>
</div>
<%= f.submit "Post", class: "btn btn-large btn-primary" %>
<% end %>
如果我通过分部传递'object'作为参数,它应该有效吗
谢谢如果我还记得Hartl教程的话,有几个地方你可以称之为_errorspartial。。。在新模板和编辑模板中。你把
object:f.object
放在两个地方了吗?甚至有一点,教程要求您将整个表单移动到一个单独的部分,该部分(本身)称为_errorpartial。。。如果您已经达到了这一点,您应该检查您的_formpartial是否使用对象调用了_errorpartial:f.object
您能给我看一下控制器的#与您上面列出的表单相关的新的
操作吗?@Anthony添加了控制器是另一篇文章的一部分还是独立的?它属于一个用户,这就是全部
ActionView::Template::Error:
undefined local variable or method `object' for #<#<Class:0x00000106cad990>:0x00000103395f18>
<% if object.errors.any? %>
<div id="error_explanation">
<div class="alert alert-error">
The form contains <%= pluralize(object.errors.count, "error") %>.
</div>
<ul>
<% object.errors.full_messages.each do |msg| %>
<li>* <%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
class MicropostsController < ApplicationController
before_action :signed_in_user
def create
@micropost = current_user.microposts.build(micropost_params)
if @micropost.save
flash[:success] = "Micropost created!"
redirect_to root_url
else
render 'static_pages/home'
end
end
def destroy
end
private
def micropost_params
params.require(:micropost).permit(:content)
end
end
def home
@micropost = current_user.microposts.build if signed_in?
end