我刚刚开始学习 Ruby on Rails。我真正难以理解的一件事是数据如何从 .html.erb 文件传输到控制器文件。
考虑以下 new.html.erb
<%= form_for :post, url: posts_path do |f| %>
<p>
<%=f.label :title %>
<%=f.text_area :title %>
</p>
<p>
<%=f.label :body %>
<%=f.text_area :body %>
</p>
<p>
<%=f.submit %>
</p>
<% end %>
然后是我的控制器文件,posts_controller.rb
class PostsController < ApplicationController
def index
@post=Post.all
end
def new
end
def create
@post=Post.new(post_param) #
@post.save
redirect_to @post
end
def show
@post=Post.find(params[:id])
end
private
def post_param
params.require(:post).permit(:title, :body)
end
end
好的,现在是我不明白的部分。
- create 方法如何获取 'post' 的值。
- 你能解释一下
<%= form_for :post, url: posts_path do |f| %>
实际上是做什么的吗?