我有兩個控制器。 Pages
和Tasks
。並在視圖/頁面中我想爲Tasks
控制器和new
操作形式。Form_for方法到另一個控制器
我嘗試這樣做:
<%= form_for @task, url: url_for(controller: 'tasks', action: 'new') do |f| %>
<%= f.text_field :content %>
<%= f.submit "Add" %>
<% end %>
但我在瀏覽器中得到一個錯誤:
形式第一個參數不能包含零或爲空時:
這是如何看起來像我的Tasks
控制器的new
方法:
def new
@task = Task.new
@task.done = false
if @task.update_attributes(task_params)
redirect_to root_path, notice: "Success"
else
redirect_to root_path, notice: "Error"
end
end
當然,Pages/new中沒有@task
變量。 那麼如何告訴Rails在Tasks控制器中尋找這個變量?
解決。我將'new'動作改爲'create'動作並且正常工作。有點有線。 – Jensky 2014-10-04 09:46:23