쉬운 편집 방법에 빠져서 해결하지 않으면 계속 진행할 수 없습니다.레일이있는 편집 방법에 붙어 있습니다.
인덱스보기에 항목 목록이 있으며 각 항목에는보기 항목 단추, 삭제 단추 및 편집 단추가 있습니다.
나는 만들고 표시하고 삭제하는 데 아무런 문제가 없지만 편집 방법이 길 듭니다.
이
내 activities_controller.rbdef 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
을 사용합니다. 내 멍청한 놈이 여기 있다고 생각하지만 어떻게 고칠 수 있는지 생각할 수 없다.
예를 들어 localhost : 3000/activities/11/edit를 입력하면 "param is missing 또는 값이 비어 있습니다 : activity"라는 메시지가 표시됩니다.
전에 말했듯이 @activity 대신 path param 활동으로 전달하기 때문에 그것이 강력한 매개 변수 "activity_params"에 대해 수행 한 구조가 아닙니다. 그러나이 순간 나는 해결책을 보지 못했습니다.
아, 저를 때려주세요! :) 나는 내 대답을 지울거야. – SteveTurczyn
물론, 당신 말이 맞습니다. 고맙습니다! – user6945851