在導軌教程創建一個blog app在我們創建rails應用程序並在路徑中創建資源之後,我們開始創建一個form_for,用於在指南中創建帖子標題和文本,它告訴我需要添加此行<%= form_for :post, url: posts_path do |f| %>
如何在創建,更新,刪除時不使用全部資源的情況下創建Rails應用程序?
posts_path助手被傳遞給:url選項。 Rails將如何處理這個問題,它會將表單指向當前控制器的創建操作,即PostsController,並且會向該路由發送POST請求。
所以我試圖理解的是傳遞到'創建行動'你看我有一個簡單的應用程序,我想要的是當一個文本輸入標題字段和提交按鈕輸入我希望它傳遞給創建操作,我只是將文本放在創建操作視圖或其他視圖中,rails指南通過教授「CRUD」,但我只想了解如何構建不使用「CRUD」的應用程序,例如一個應用程序需要輸入並在另一個視圖中輸出它?
我的表格:
<h1>Here Lets create a simple post</h1>
<%= form_for :post, url: posts_path do|f| %>
<p>
<%= f.label :title %>
<%= f.text_field :title %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
posts控制器:
class PostsController < ApplicationController
def new
@post = Post.new
end
def create
@post = Post.new(post_params)
end
def post_params
params_require(:post).permit(:title)
end
end
創建視圖:
<h1>THis is the post create action</h1>
<%= @post.title %>
路線:
Learnnobase::Application.routes.draw do
resources :posts
root "welcome#home"
end
現在我得到一個錯誤,說明uninitialized constant PostsController::Post
突出顯示我的創建方法?我已經使用'CRUD'完成了很多Rails應用程序教程我真的想學習如何在不使用'CRUD'的情況下構建一個簡單的應用程序,儘管我使用了「CRUD」的創建操作,但我試圖嘗試使用此應用程序。
在我看來,它輸出的預期感謝您的幫助,但我也將如何格式化輸出,如可以說我想大寫它我試着<%= @post [:title] .upcase%>,並得到一個錯誤? – user3131148
你得到了什麼樣的錯誤? –
對於{「title」=>「jimmy」}未定義的方法'upcase':ActionController :: Parameters – user3131148