加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 21:32:48 所属栏目:百科 来源:网络整理
导读:我刚刚在rails上使用 ruby,并且在Mac OSX上使用2.3版本. 我正在尝试创建一个脚手架创建的相同的功能,但是我自己. 我创建了一个“post”控制器,查看和模型. 在后台控制器中,我有以下内容: class PostController ApplicationController def index end def new
我刚刚在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,它会处理其余的,如果你传入新记录或现有记录

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读