ruby-on-rails – 实例变量与ruby上的符号rails(form_for)

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 实例变量与ruby上的符号rails(form_for)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚刚在rails上使用 ruby,并且在Mac OSX上使用2.3版本.
我正在尝试创建一个脚手架创建的相同的功能,但是我自己.
我创建了一个“post”控制器,查看和模型.
后台控制器中,我有以下内容
class PostController < ApplicationController
  def index
  end

  def new
    @post = Post.new
  end
end

在new.html.erb中,我有以下内容

<h1>New Post</h1>

<% form_for :post do |f| %>

    <%= f.text_field :title %>

<% end %>

我注意到在脚手架生成代码中,为form_for帮助使用了实例变量@post.为什么在脚本生成表单中使用实例变量,如果传递符号:在form_for中的post是完全相同的东西,而符号需要更改路由的配置?

非常感谢你,
尤瓦

解决方法

如果你使用符号:发布它创建
<form action="/posts" method="post">

如果您使用实例@post

为@post = Post.new你会得到

<form action="/posts/create" class="new_account" id="new_account" method="post">

为@post = Post.find(1)你会得到

<form action="/posts/update" class="edit_account" id="edit_account_1" method="post">
<input name="_method" type="hidden" value="put">

如果你有不同的形式为你的新的和你的编辑没有什么大不了,但更多的likey而不是你的新的和你的编辑表单将是相同或接近它

所以如果你使用实例变量@post,你可以把所有的表单代码放入_form,只需调用partial,它会处理其余的,如果你传入新记录或现有记录

原文链接:https://www.f2er.com/ruby/267339.html

猜你在找的Ruby相关文章