0

のページに移動して127.0.0.1/searches/newクリックして送信すると、次のようになります。

ActionView::MissingTemplate in Searches#show

Missing partial searches/search with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}. Searched in:

通常、Rails は結果を に送信するので、理由がわかりませyieldん。

私の中でshow.html

<%= render @search.calendars %>

私のコントローラーでsearches_controller.rb

def new
  @search = Search.new
end

def create
  @search = Search.create!(params[:params]) 
  redirect_to @search
end

def show
  @search= Search.find(params[:id])
end

私のモデルではsearches.rb

def calendars
  @calendars ||= find_calendars
end

private

def find_calendars
  calendars = Calendar.order(:event)
  calendars = calendars.where("event like ?", "%#{keywords}%") if keywords.present?
  calendars
end

私の中でroutes.rb

resources :searches
4

2 に答える 2

0

次の行は、部分ビューを介してモデルをレンダリングしようとします。

<%= render @search.calendars %>

部分ビューによるレンダリングが必要な場合は、 でファイルを作成する必要がありますapp/views/searches/_searches.html.erb

または、上記の render 呼び出しを削除し、代わりにレンダリング ロジックをapp/views/searches/view.html.erbファイル内に配置します。

于 2013-10-27T04:23:56.187 に答える
0

私はあなたがあなたの中にこれを持っていると推測していますapp/view/searches/new.html.erb:

<%= render @search %>

@search上記は、それがインスタンスでSearchある場合、効果的にこれを行う省略形です。

<%= render :partial => 'searches/search', :locals => {:search => @search} %>

ただし、アプリケーションはビューの partial を検出しませんapp/views/searches/_search.html.erb

このコンテンツの具体的な内容は何ですか?このコードを置き換えるか、不足しているファイルを作成してコンテンツを追加してください。

于 2013-10-27T05:36:12.650 に答える