使用 'ancestry' gem 更新 rails 中的属性
Update Attributes in rails using 'ancestry' gem
我在 rails.When 中使用祖先 gem 它被设置为一个模型,它获得诸如父、parent_id、子 etc.Now 之类的属性我有一个模型消息包含两个属性 content 和 content_title 我们可以设置 parent_id 但问题是当我尝试设置它们时只有一个得到 updated.Here 我的代码。
"parent_id" 在 "create action" 中设置,其他两个属性设置为 well.Now 当我像这样更新它时 "parent_id " 得到更新但是当我使用
#@page = Message.new(message_params)
另外两个属性 content 和 content_title 得到更新,parent_id 没有得到更新。
class MessagesController < ApplicationController
layout false
def index
@messages = Message.all
end
def show
@message_id = Message.find(params[:id])
end
def new
@message = Message.new
end
def create
@page = Message.new(:parent_id => params[:parent_id],:content_title => params[:content_title],:content => params[:content])
#@page = Message.new(message_params)
if @page.save
flash[:notice] = "The Mesage was created succeffully"
redirect_to(:action => 'index')
else
render('new')
end
end
private
def message_params
params.require(:message).permit(:parent_id,:content_title,:content)
end
end
这是发送数据的视图文件
<div class="Pages new">
<h2> Create Pages</h2>
<%= form_for(:message, :url => {:action => 'create',:parent_id => @message_id}) do |f| %>
<table summary="Page form fields">
<tr>
<th>ParentID</th>
<td><%= f.text_field(:id) %></th>
</tr>
<tr>
<tr>
<th>Content Title</th>
<td><%= f.text_field(:content_title) %></th>
</tr>
<tr>
<th>Content</th>
<td><%= f.text_field(:content) %></th>
</tr>
</table>
<div class="form-buttons">
<%= submit_tag("Submit Form") %>
</div>
<% end %>
</div>
有没有办法同时设置它们simultaneously.Am我做错了什么?
对于任何想知道答案是什么的人。
def create
@page = Message.new(message_params)
@page.parent_id = params[:parent_id]
#@page = Message.new(message_params)
if @page.save
flash[:notice] = "The Mesage was created succeffully"
redirect_to(:action => 'index')
else
render('new')
end
end
我在 rails.When 中使用祖先 gem 它被设置为一个模型,它获得诸如父、parent_id、子 etc.Now 之类的属性我有一个模型消息包含两个属性 content 和 content_title 我们可以设置 parent_id 但问题是当我尝试设置它们时只有一个得到 updated.Here 我的代码。
"parent_id" 在 "create action" 中设置,其他两个属性设置为 well.Now 当我像这样更新它时 "parent_id " 得到更新但是当我使用
#@page = Message.new(message_params)
另外两个属性 content 和 content_title 得到更新,parent_id 没有得到更新。
class MessagesController < ApplicationController
layout false
def index
@messages = Message.all
end
def show
@message_id = Message.find(params[:id])
end
def new
@message = Message.new
end
def create
@page = Message.new(:parent_id => params[:parent_id],:content_title => params[:content_title],:content => params[:content])
#@page = Message.new(message_params)
if @page.save
flash[:notice] = "The Mesage was created succeffully"
redirect_to(:action => 'index')
else
render('new')
end
end
private
def message_params
params.require(:message).permit(:parent_id,:content_title,:content)
end
end
这是发送数据的视图文件
<div class="Pages new">
<h2> Create Pages</h2>
<%= form_for(:message, :url => {:action => 'create',:parent_id => @message_id}) do |f| %>
<table summary="Page form fields">
<tr>
<th>ParentID</th>
<td><%= f.text_field(:id) %></th>
</tr>
<tr>
<tr>
<th>Content Title</th>
<td><%= f.text_field(:content_title) %></th>
</tr>
<tr>
<th>Content</th>
<td><%= f.text_field(:content) %></th>
</tr>
</table>
<div class="form-buttons">
<%= submit_tag("Submit Form") %>
</div>
<% end %>
</div>
有没有办法同时设置它们simultaneously.Am我做错了什么?
对于任何想知道答案是什么的人。
def create
@page = Message.new(message_params)
@page.parent_id = params[:parent_id]
#@page = Message.new(message_params)
if @page.save
flash[:notice] = "The Mesage was created succeffully"
redirect_to(:action => 'index')
else
render('new')
end
end