0

Railsを使用して簡単なマイクロポストアプリケーションを作成しようとしています...

これは私のモデルです:

Class Micropost < ActiveRecord::Base
     attr_accessible :content, :name
end

コントローラ:

class MicropostsController < ApplicationController
    def create
        @blog=Micropost.new( :content => params[:content])
        @blog.save
        redirect_to microposts_show_path
    end

    def show
        @mblg=Micropost
    end

    def index
    end    
end

ビュー:

create.html.erb

<h1>Microblogs#create</h1>
<p></p>
<%= label_tag(:content) %><br/>
<%= text_field_tag (:content) %><br/>
<%= submit_tag("submit") %><br/>

index.html.erb
<h1>Microblogs#index</h1>
<p>Find me in app/views/microblogs/index.html.erb</p>


show.html.erb
<h1>Microblogs#show</h1>
<p></p>
<%= @mblg.each.do |variable|%>
    <p><%= variable.content %></p>
<%end%>

Routes.rb

Blog::Application.routes.draw do

  get "microposts/create"

  get "microposts/show"

  get "microposts/index"
end

テンプレートが見つからないというエラーが表示されます...これはかなり単純なアプリケーションです...どこが間違っているのか指摘していただけますか?

4

1 に答える 1

0

Rails の RESTful コントローラーには非表示のアクション (作成、更新、破棄) があります。

コントローラー (スキャフォールドの一部として作成された場合) には、ユーザーに表示される 4 つのアクションがあります。

index
new
show
edit

私たちのルートファイルで、あなたは呼び出すことができます

resources :microposts

どの Rails が RESTful コントローラーのルートを理解し、作成します。

/microposts/createあなたが使用する代わりに/microposts/new

あなたが見ることができる良い例は、足場です。

Rails ルート ディレクトリ内で、次の操作を行います。

rails g scaffold foo bar
rake db:migrate

これにより Foo コントローラーが作成され、このコントローラーで新規作成/インデックス作成/編集/表示できることがわかります。入力して入力するフィールドは bar です。

これで遊んで終わったら、次のことができます

rails d scaffold foo
rake db:rollback
于 2013-02-23T17:14:16.230 に答える