我正在尝试在我的创建操作中设置页面的标题。
我需要page.translation.title = params[:page][:title]
def create
@page = Page.new(params[:page])
@page.translation.title = params[:page][:title]
if @page.save
redirect_to admin_pages_path
else
render :new
end
end
也试过了
@translation = @page.translation.build(title: params[:page][:title])
:
p = Page.last
p.translation.title
=> nil -----> right now after its created, title is nil.
p.translation.title = "foo"
=> "foo"
这就是我在创作中的作用。任何帮助都会很大 赞赏。谢谢。
更新:
我在一个在refinerycms 2.1.0.dev上运行的遗留应用程序上使用它
相关代码:
解决方案
def create
@page = Refinery::Page.new(params[:page])
if @page.save!
@page.translations.create(slug: @page.slug,
title: params[:page][:title],
locale: params[:switch_locale])
flash.notice = t(
'refinery.crudify.created',
what: "'#{@page.title}'"
)
redirect_to admin_pages_path
else
render :new
end
end