0
我卡在一個簡單的編輯方法,不能繼續下去,直到我解決它。卡在一個編輯方法與軌道
我有一個索引視圖中的項目列表,每個項目都有一個查看項目按鈕,刪除按鈕和編輯按鈕。
我沒有創建,顯示和刪除的問題,但我堅持te編輯方法。
這是我activities_controller.rb
def edit
@activity = Activity.find(params[:id])
if @activity.update(activity_params)
redirect_to @activity
else
redirect_to :edit
end
end
private
def activity_params
params.require(:activity).permit(:name, :description)
end
,這是編輯觀點:
<%= form_for(@activity) do |f| %>
<p>
<%= f.text_field :name %>
<%= f.label :name, "Name" %>
</p>
<p>
<%= f.text_area :description" %>
<%= f.label :description, "Descripction" %>
</p>
<p>
<%= f.submit "save", class: "btn" %>
</p>
在項目列表中查看:
<% @activities.each do |activity| %>
<%= activity.name %>
<%= link_to "edit", edit_activity_path(activity), class: "btn"%>
<% end %>
在所有我遵循他們的例子,在顯示項目視圖中執行編輯按鈕,所以他們使用@activity作爲路徑參數,但在我的循環中我不能使用@activity,我使用activity
。我認爲這是我noob失敗,但我不知道如何解決它。
所以,當我進入例如本地主機:3000 /活動/ 11 /編輯它顯示消息「參數丟失或值是空的:活動」。
正如我之前所說,我認爲這是因爲我作爲路徑參數活動而不是@activity傳遞,然後它沒有爲強參數「activity_params」所做的結構。但在這一刻,我沒有看到解決方案。
啊,打我吧! :)我會刪除我的答案。 – SteveTurczyn
當然,你是對的。謝謝! – user6945851